「トップページ」の編集履歴(バックアップ)一覧はこちら
「トップページ」(2014/01/06 (月) 10:36:45) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
プログラミングメモ(^^
YAGNI : You Aren't Going to Need It
あなたはそれを必要としないだろう
#comment()
&strong(){達人の哲学}
01.自らの技術に関心を持つこと
02.あなたの仕事について考えること!
03.いい加減な言い訳よりも対策を用意すること
04.割れた窓を放置しておかないこと
05.変化の触媒たれ
06.大きな構想を忘れないようにすること
07.品質要求を明確にすること
08.常にあなたのポートフォリオに投資すること
09.見聞きしたことを批判的な目で分析すること
10.伝える事柄と、伝える方法は車の両輪と考えること
&strong(){達人のアプローチ}
11.DRY - Don't Repeat Yourself (繰り返しを避けること)
12.再利用しやすいようにしておくこと
13.関係のないもの同士の影響を排除すること
14.最終決定などというものは存在しない
15.目標を見つけるには曳光弾を使うこと
16.プロトタイプの真の目的は学びにある
17.問題領域に近いところでプログラミングを行うこと
18.あとでびっくりしないために、見積もりを行うこと
19.コーディングによってスケジュールを繰り返すこと
&strong(){基本的なツール}
20.知識はプレーンテキストに保存すること
21.コマンド・シェルの力を使うこと
22.一つのエディタを熟知すること
23.常にソースコード管理を使用すること
24.非難するのではなく、問題を修復すること
25.パニックに陥らないこと
26.“select”はおかしくない
27.仮定せずに、証明すること
28.テキスト操作言語を学ぶこと
29.コードを生成するコードを作成すること
&strong(){妄想の達人}
30.あなたは完璧なソフトウェアを作ることができない
31.契約を用いて設計を行うこと
32.早めにクラッシュさせること
33.もし起こりえないというのであれば、表明を用いてそれを証明すること
34.例外は例外的な問題のみに使用すること
「全ての例外ハンドラを除去しても、このプログラムは動作することができるだろうか?」
35.始めたことは終わらせること
&strong(){曲げるか壊すか}
36.モジュール間の結合度を最小にすること
37.設定すべき物を統合しないこと
38.抽象概念はコード上に、詳細はメタデータ上に置くこと
39.並列性の改善にはワークフローを分析すること
40.サービスを使って設計を行うこと
41.常に並列性を意識した設計を行うこと
42.モデルからビューを分離すること
43.ワークフローを強調させるためにはホワイトボードを使用すること
&strong(){コーディング段階}
44.偶発的なプログラミングを行わないこと
45.アルゴリズムのオーダーを見積もること
46.見積もりの検証を行うこと
47.リファクタリングを早めにすること、そしてこまめにすること
48.テスト設計を行うこと
49.ユーザがテストする前にソフトウェアのテストをすること
50.理解できないウィザードのコードを使わないこと
&strong(){プロジェクトを始める前に}
51.要求は拾い集めるのではなく、掘り起こすものである
52.ユーザの視点に立つには、ユーザと働くこと
53.抽象は詳細よりも息が長いものである
54.プロジェクトの用語集を作ること
55.枠にとらわれずに考えるのではなく、枠を見つけだすこと
56.心の声に耳を傾け、準備ができてから開始すること
57.解説しない方が良い場合もある
58.形式的方法論の奴隷になってはいけない
59.高価なツールが良い設計を生み出すとは限らない
&strong(){達人のプロジェクト}
60.職務権限ではなく、機能によってチームを編成すること
61.手作業は危険である
62.早目にテスト、何度もテスト、自動でテスト
63.テストが全て終わるまでコーディングは終わらない
64.テストのテストをするには破壊工作を試みる
65.コードのカバレージではなく、状態のカバレージをテストすること
66.複数のバグを一度に見つけること
67.日本語をもう一つのプログラミング言語として扱うこと
68.ドキュメントは付け足すものではなく、組み込むものである
69.ユーザの期待をやや上回ること
70.あなたの作品に署名すること
|W|何(What)|聞き手に何を知って欲しいのか|
|I|興味(Interest)|言いたいことの中にある彼らの興味とは何か|
|S|洗練(Sophisticate)|それはどれくらい洗練されているか|
|D|詳細(Detail)|彼らはどの程度詳細を知りたがっているか|
|O|誰の情報(Own)|誰にその情報を知ってもらいたいのか|
|M|動機付け(Motivate)|話を聞いてもらえるには、どうするのか|
|読み方 |小|大|読み方 |小|大|読み方 |小|大|
|アルファ |α|Α|イオタ |ι|Ι|ロー |ρ|Ρ|
|ベータ |β|Β|カッパ |κ|Κ|シグマ |σ|Σ|
|ガンマ |γ|Γ|ラムダ |λ|Λ|タウ |τ|Τ|
|デルタ |δ|Δ|ミュー |μ|Μ|ウプシロン |υ|Υ|
|イプシロン |ε|Ε|ニュー |ν|Ν|ファイ |φ|Φ|
|ゼータ |ζ|Ζ|クサイ |ξ|Ξ|カイ |χ|Χ|
|イータ |η|Η|オミクロン |ο|Ο|プサイ |ψ|Ψ|
|シータ |θ|Θ|パイ |π|Π|オメガ |ω|Ω|
#co(){
http://www.aoky.net/articles/jeff_atwood/the_programmers_bill_of_rights.htm
http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm
}
プログラミングメモ(^^
YAGNI : You Aren't Going to Need It
あなたはそれを必要としないだろう
#comment()
|W|何(What)|聞き手に何を知って欲しいのか|
|I|興味(Interest)|言いたいことの中にある彼らの興味とは何か|
|S|洗練(Sophisticate)|それはどれくらい洗練されているか|
|D|詳細(Detail)|彼らはどの程度詳細を知りたがっているか|
|O|誰の情報(Own)|誰にその情報を知ってもらいたいのか|
|M|動機付け(Motivate)|話を聞いてもらえるには、どうするのか|
|読み方 |小|大|読み方 |小|大|読み方 |小|大|
|アルファ |α|Α|イオタ |ι|Ι|ロー |ρ|Ρ|
|ベータ |β|Β|カッパ |κ|Κ|シグマ |σ|Σ|
|ガンマ |γ|Γ|ラムダ |λ|Λ|タウ |τ|Τ|
|デルタ |δ|Δ|ミュー |μ|Μ|ウプシロン |υ|Υ|
|イプシロン |ε|Ε|ニュー |ν|Ν|ファイ |φ|Φ|
|ゼータ |ζ|Ζ|クサイ |ξ|Ξ|カイ |χ|Χ|
|イータ |η|Η|オミクロン |ο|Ο|プサイ |ψ|Ψ|
|シータ |θ|Θ|パイ |π|Π|オメガ |ω|Ω|
#co(){
http://www.aoky.net/articles/jeff_atwood/the_programmers_bill_of_rights.htm
http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm
}