アカウント名:
パスワード:
個人的に理想とするプログラミングは3パス方式ですね。1パス目 主にあたりを取るためや今の考えが適合することを確認するため、情報を取るために 書き散らす。 読めることはあまり気にしない、間違えること・ポカが最小限になるように書いて試す。2パス目 1パス目の情報より方針が決定され、読めるように、正しく動作するように書き直す。3パス目 最終確認をしながら、未来の自分に「遺す」ようにコメント・コードを整理する。
2パス目は新規に書き下ろすようなつもりでいます。2・3パス目ではhexコンペアや exeコンペア [so-net.ne.jp]も活用します。
間違っています。1パスで書いてください。プログラミングにおいてモックアップを書き散らすなんてことはありえません。コードは常に整理してください。
今、考えられうるかぎり、最もシンプルで、最も実装が早く、要求が満たされる方法を考えて、完成形そのものをコードにしてください。テスト駆動開発して、常に正しく動くようにしてください。
ソフトウェアが成長する過程でより理想的な設計が見つかることもあるでしょう。しかし、それは完成形を目指して書こうとしてるから見つかるのであって、正しく動くかどうか分からないとにかく書いて試す、みたいなものでみつかるものではないでしょう。
正しい設計が見つかったら、そのように書きなおしてテストを通してください。それは1パス目2パス目とか段階踏んでやるものではなく、絶えず行うものです。
この人は概念実証とかプロトタイピングは決してしないのかな
uratanとnarucyの書いたコードを実際見比べてみないと何とも言えんな。両者の生産過程に正誤という程の問題は感じられない。
TDDは宗教だと思うな
TDDって完成形がいきなりできるものじゃないと思うのですが。とりあえずおおまかなテスト書く→それを通る部分だけ作る上よりちょっと細かなテスト書く→それを通る部分だけ作る繰り返してそのうち完成!ってアジャイルの本に書いてあったのですが。
こんなのがすばらしい洞察だとは…TDDが宗教というのもよく分かるわ。早すぎる最適化なんて害でしかないのに。
それは要求が分かってる(完成形にどれだけ近いかという評価関数が一定である)場合は正しい方法論ですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
3パスプログラミング (スコア:2)
個人的に理想とするプログラミングは3パス方式ですね。
1パス目
主にあたりを取るためや今の考えが適合することを確認するため、情報を取るために
書き散らす。
読めることはあまり気にしない、間違えること・ポカが最小限になるように書いて試す。
2パス目
1パス目の情報より方針が決定され、読めるように、正しく動作するように書き直す。
3パス目
最終確認をしながら、未来の自分に「遺す」ようにコメント・コードを整理する。
2パス目は新規に書き下ろすようなつもりでいます。
2・3パス目ではhexコンペアや exeコンペア [so-net.ne.jp]も活用します。
Re:3パスプログラミング (スコア:4, すばらしい洞察)
間違っています。1パスで書いてください。プログラミングにおいてモックアップを書き散らすなんてことはありえません。コードは常に整理してください。
今、考えられうるかぎり、最もシンプルで、最も実装が早く、要求が満たされる方法を考えて、完成形そのものをコードにしてください。テスト駆動開発して、常に正しく動くようにしてください。
ソフトウェアが成長する過程でより理想的な設計が見つかることもあるでしょう。しかし、それは完成形を目指して書こうとしてるから見つかるのであって、正しく動くかどうか分からないとにかく書いて試す、みたいなものでみつかるものではないでしょう。
正しい設計が見つかったら、そのように書きなおしてテストを通してください。それは1パス目2パス目とか段階踏んでやるものではなく、絶えず行うものです。
Re:3パスプログラミング (スコア:1)
この人は概念実証とかプロトタイピングは決してしないのかな
Re:3パスプログラミング (スコア:1)
uratanとnarucyの書いたコードを実際見比べてみないと何とも言えんな。
両者の生産過程に正誤という程の問題は感じられない。
Re: (スコア:0)
TDDは宗教だと思うな
Re: (スコア:0)
TDDって完成形がいきなりできるものじゃないと思うのですが。
とりあえずおおまかなテスト書く→それを通る部分だけ作る
上よりちょっと細かなテスト書く→それを通る部分だけ作る
繰り返してそのうち完成!
ってアジャイルの本に書いてあったのですが。
Re: (スコア:0)
こんなのがすばらしい洞察だとは…TDDが宗教というのもよく分かるわ。
早すぎる最適化なんて害でしかないのに。
Re: (スコア:0)
それは要求が分かってる(完成形にどれだけ近いかという評価関数が一定である)場合は正しい方法論ですね。