アカウント名:
パスワード:
私の書くコードはバギーで、遅くて、脆弱で、保守するのも一苦労です。
なのに
ここ/.に集う開発者で、自分の企業を説得して「カウボーイ風コーディング」を止めさせるか縮小させるかし、ベストプラクティスを導入させるのに成功した人はいませんか?
というのは何か間違っている。 この人の場合、2つの異なる障害があって、それが複合的にプロジェクトの息の根を止めていると思われる。会社を直すのはより時間が掛かるので、まずは自分を治すことからはじめるべきだろう。 プログラムが『バギーで、遅くて、脆弱で、保守するのも一苦労』な状態になるのは、 ・熟慮されたアルゴリズムを用いず(バギ
この前、レビューを頼まれたソースコードはひどかったですね。読んでいて「このコードを書いた人は、この関数がどのように動作すると正しい動作と言えるのか、厳密なイメージが描けていないな」ということが、ありありとわかるのです。おそらく、仮組みしたコードを動かしてみながら、例外的なパターンを後から発見し、アドホックに完成に近付けていったものに違いないのです。
僕自身は探索的プログラミングの信奉者で、コーディング前に綿密な設計が必要だとはあまり思わないのだけれど、こういう事例を見てしまうと「コーディングにはその前提となる設計が必要だ」ということをもっと強調した方が良いのかも知れないと思ってしまいます(もちろん探索的プログラミングは、コーディングを通じて「より良い設計」を追求するのであり、設計が不要だという主張はまったく持っていないのですが)。
やはり、ソフトウェア開発における「生産」はコンパイルであり、コーディングは「設計」なのだということをもっと多くの人が知るべきなのでしょうね。プログラマーは誰でも設計者になる意識を持たないとダメですよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
主張に矛盾がある (スコア:5, 参考になる)
なのに
というのは何か間違っている。
この人の場合、2つの異なる障害があって、それが複合的にプロジェクトの息の根を止めていると思われる。会社を直すのはより時間が掛かるので、まずは自分を治すことからはじめるべきだろう。
プログラムが『バギーで、遅くて、脆弱で、保守するのも一苦労』な状態になるのは、
・熟慮されたアルゴリズムを用いず(バギ
fjの教祖様
大半の問題はこの一点だろ (スコア:0)
必要なときに、壊して一から書き直す手間を省くからそういうことになる。
カウボーイだかエクストリームだか知らないけれど、とりあえず書いて動かすなんて手抜きが許されるのは必要があればいつでも捨てて書き直すという約束が守られる間だけだ。
最初はプレハブや掘っ立て小屋でも構わない。何が建つかも分からないうちから丈夫な基礎を作っても無駄だ。でもそれを大きくしたいなら、基礎から造り直さなきゃ丈夫なビルは建たないってこと。
Re:大半の問題はこの一点だろ (スコア:2, すばらしい洞察)
この前、レビューを頼まれたソースコードはひどかったですね。読んでいて「このコードを書いた人は、この関数がどのように動作すると正しい動作と言えるのか、厳密なイメージが描けていないな」ということが、ありありとわかるのです。おそらく、仮組みしたコードを動かしてみながら、例外的なパターンを後から発見し、アドホックに完成に近付けていったものに違いないのです。
僕自身は探索的プログラミングの信奉者で、コーディング前に綿密な設計が必要だとはあまり思わないのだけれど、こういう事例を見てしまうと「コーディングにはその前提となる設計が必要だ」ということをもっと強調した方が良いのかも知れないと思ってしまいます(もちろん探索的プログラミングは、コーディングを通じて「より良い設計」を追求するのであり、設計が不要だという主張はまったく持っていないのですが)。
やはり、ソフトウェア開発における「生産」はコンパイルであり、コーディングは「設計」なのだということをもっと多くの人が知るべきなのでしょうね。プログラマーは誰でも設計者になる意識を持たないとダメですよ。