2009-01-01から1年間の記事一覧

4.すべてのプログラマはスパゲティコードを破棄またはリファクタリングする権利がある。

もし、スパゲティコードのままメンテナンスしてほしいって言われたら、裸足で逃げるね。 これらの権利は、プログラマの仕事の質を高めるために、最低限必要な事だ。もしこれらの権利が認められないのならば、仕事の質が高くなくても良いといってるに等しい。…

3.すべてのプログラマは設計書に擬似コードを記述する事を拒否する権利がある。

擬似コードを書くことほど無駄な事はない。擬似コードを書いたところで、それが正しいのかどうかすらレビューでは分からないし、実際に動くコードは1行たりとも書かれていない。擬似コードを正しく書いている時間があったら、実際のコードを書いた方がまだ…

2.すべてのプログラマはExcelで作成された設計書の作成、メンテナンス、レビューその他一切の作業を拒否する権利がある。ただしDBの設計書は例外とする。

Excelで作成された設計書は、これ以上無いくらいにメンテナンス性が悪い。Excelが使用される一番の理由は、設計書のフォーマットを同じにしたいためだとおもわれるが、 フォーマットを同じにしたところで、品質が同じになる訳じゃないんだ。Excel方眼紙なん…

1.すべてのプログラマはソースコードの履歴をコメントアウトで残す事を拒否する権利を有する

プログラマはソースコードの可読性を常に高いレベルに保つ必要がある。ただでさえ可読性を上げるための時間が足りないのに、 いちいち修正した箇所の前後にコメントを入れたり、 不要になったコードをコメントで残したり、 などなどコードに余計なコメントを…

現場から遠のくと楽観主義が現実に取って代わる

「現場から遠退くと楽観主義が現実に取って代わる。 そして最高意志決定の場では、現場なるものはしばしば存在しない。 進捗が遅れている時は特にそうだ。」 「何の話だ。少なくともまだデスマーチなど始まってはおらん」 「始まってますよとっくに! 気付く…

ソースコード管理システムでソースコードの共有を行ってはいけないたった1つの理由

VSSやSubversionなどのソースコード管理システムで、 「共有」とか「外部参照」とかで、リポジトリ上のソースコードを複数の箇所から参照できるようにするのは便利だ。だが、気づきにくい落とし穴がある。 共有しているソースコードに対して複数回コンパイル…

アプリケーションフレームワークとノーフリーランチ定理

「システムの要件に合わないフレームワークを無理やり使わされて使って失敗する」のは、 ノーフリーランチ定理によるのではないだろうか? 「あらゆる問題で性能の良い汎用最適化戦略は理論上不可能であり、ある戦略が他の戦略より性能がよいのは、現に解こ…

下請けいじめチェックリスト

何個当てはまりますか? 顧客の注文に少しでも疑問を示すと、すぐに不機嫌になる。 うまくいかないことがあると、すぐに下請けのせいにする。 下請けが一人で外出すると、しょっちゅう携帯に電話してくる。 下請けが友人や両親と交際するのを嫌がる。 下請け…