- 23 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 06:17:25.58 ID:9phkcvNE0.net]
- >>22
そもそもバグを生むのが間違い。POSIX原理主義ならバグは生まれない。この本に書いてある。 初めてのPOSIX原理主義 超進化を遂げたシェルスクリプトを学ぶ15回の講義 https://richlab.org/coterie/lpf.html そもそもPOSIX原理主義ではgitを禁止してる。バイナリでデータを保存しているから 何年かたってgitから別のソフトに変わったときに取り出せなくなる。 バージョン管理ならシェルスクリプトを使えばよい。コミットはcp -pRやrsyncで十分だ。 冒頭コメントにファイルの名前や最終更新者や更新日時をかけ diffで差分も見れるしgrepで検索できる。さらにはsed やAWK などをパイプで繋ぎ ワンライナーとして実行すれば様々な切り口で過去リビジョンの閲覧ができる 楽をするな。工夫しろ、悩んで自分で解決策を見つけ出せ > 12.1.1 1 行書いては実行 - そもそもバグを生まない > > デバッグという作業は、そもそもやる必要を無くせるのであればそれに越したことはない。 > デバッグ作業そのものからは、何も新たなコードは生まれない。 > 何もコードを生まない作業に好き好んで時間を割きたくはないからな。 > > そんなことできるのか、と思うかもしれんが、答えは「1 行書き足しては実行、書き足しては実行……を > 繰り返す」である。このことは既に今まで何度か言ってきた。何十行何百行もあるプログラムを > 書き終えた後でおかしな動きをすることがわかったら、どの行に問題が潜んでいるのかの特定には時間がかかる。 > あるいは、全部作った後で出来上がったコードを見ながらテスト項目を立案するのも骨の折れる作業だ。 > > 一方、毎行1 行ずつ書き足しては実行というテストをしていて、ある1 行書き足した時点で > おかしな動きになったと気づけば、今書いた1 行に原因がある可能性が高く、場所の特定に割く時間を抑えられる。 > > 1 行書いては実行というのはべつにシェルスクリプトに限ったテクニックではない。 > コンパイル不要な言語ならどれでも気軽にできる。しかし、UNIX シェルやシェルスクリプトは > これに向いた仕様になっている。それを見ていこう。
|

|