yewton
基本的には CODE COMPLETE 第2版 を題材に、 yewton の考える 〈完全なプログラミング〉 を知り、 今後のコーディングや設計の基礎的な指針を メンバー間で擦り合わせること
(発散しがちな根源的議論に時間をかけず、 真にやるべきことに集中出来るようにしたい)
A release is called code complete when the development team agrees that no entirely new source code will be added to this release. — Software release life cycle From Wikipedia, the free encyclopedia
A release is called code complete when the development team agrees that no entirely new source code will be added to this release.
— Software release life cycle From Wikipedia, the free encyclopedia
完璧さが達成されるのは、付け加えるものがないときではなく、 取り除くものがないとき である — アントワーヌ・ド・サン=テグジュペリ
perfect を完全と訳すこともあるし(例: 完全情報ゲーム game with perfect information )、 敢えて目指すモノなのだから、 個人的には Perfect な 、 つまり機能不足が無いのは当然のこととして、 成果物に一切余分な物がなく、またその過程にも一切の無駄が無い プログラミングを目指したい
It's only the first 10 minutes that the code's original , when you type it in the first time. That's it. — The Noble Art of Maintenance Programming
プログラミングにおいてコンピュータとのやり取りはほんの15%にすぎず、85%が人とのコミュニケーションである – CODE COMPLETE 33.1 個人の資質は話題からずれているか
愚か者はコンピュータが理解できるコードを書く。 優秀なプログラマは人が理解できるコードを書く。 — マーティン・ファウラー
最初の開発時でさえ、コードを書くことよりも読むことのほうが多い。 読み手の便宜を犠牲にしてまで書き手の便宜を優先しても、表面的な節約にしかならない。 — CODE COMPLETE 6.2.2 良いカプセル化
コードを読みやすくすることは、開発プロセスのオプション部分ではない。そして、読むときの便宜ではなく書くときの便宜を図るのは不経済である。 — CODE COMPLETE 34.3 人間が1番、コンピュータは2番
コードを書くときには、あなたのプログラムを保守するだれかが、あなたの居場所を知っている凶暴な変質者であると心得よ。 — CODE COMPLETE 32章 読めば分かるコード
ただし、品質に対して喜んで金を出す人だけに対して — ピープルウェア 第3版 第4章 品質第一……時間さえ許せば
ソフトウェア開発は「高級料理」にはほど遠いが、ソフトウェアの品質は例外だ。 ソフトウェア品質の原則とは、品質を改善すると開発コストが低くなることである。 — CODE COMPLETE 20章 ソフトウェアの品質
ほとんどのプロジェクトで最も時間のかかるアクティビティは、正しく動作しないコードのデバッグと修正である。 デバッグとそれに伴うリファクタリングなどの修正作業は、従来の単純なソフトウェア開発サイクルにおいて約50%の時間を占める。
エラーを予防してデバッグを減らせば、生産性は向上する。 したがって、開発スケジュールを短縮する最も明らかな方法とは、製品の品質を向上させ、ソフトウェアのデバッグや作業のやり直しにかかる時間を減らすことである。 — CODE COMPLETE 20章 ソフトウェアの品質
本日の話を踏まえ、 KISS 、 DRY 、 YAGNI の3つの原則について、これらの原則がなぜ大切にされているのかを話し合いましょう。