質問するログイン新規登録

回答編集履歴

3

微修正

2017/11/27 21:12

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -67,7 +67,7 @@
67
67
  - 資産 → **テスト**を書くなどして、プログラム全体を使いやすくしていく
68
68
  - 負債 → **その場しのぎ**の修正を繰り返し、全体が分からなくなっていく
69
69
 
70
- テスト、ロギング、例外処理、UML、ドキュメント……などを書く。
70
+ 解説:テスト、ロギング、例外処理、UML、ドキュメント……などを書く。
71
71
  これらは手間は掛かりますが、プログラムを使いやすく、資産化していきます。
72
72
 
73
73
  一方、動けばいいやと**場当たり的な修正を繰り返す**だけだと、

2

リファクタリングの部分を微修正

2017/11/27 21:12

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -36,7 +36,7 @@
36
36
  また、仕様を理解する点において、**英語**と**数学**は大きな武器です。
37
37
  たとえば流行の機械学習でも、このふたつが理解する武器になるでしょう。
38
38
 
39
- 英語と数学は、最新のプログラム言語やフレームワークよりも、
39
+ 英語と数学は、最新のプログラム言語やフレームワーク(FW)よりも、
40
40
  陳腐化が確実に遅いです。おそらく**一生使える**技術でしょう。
41
41
 
42
42
  一方、言語やFWはひどいときには、流行した来年には、もうオワコンになっている。
@@ -57,6 +57,7 @@
57
57
 
58
58
  この『リファクタリング』を最近読み直したら、実装の書き方にとどまらず、
59
59
  設計的にもドメインモデリングしていることに気づき、あらためて感心しました。
60
+ OOPで書くとどういうコードになるのか、という良いサンプルでもあります。
60
61
 
61
62
  また、Javaでは、「**デザインパターン**」の本も良いと思います。
62
63
 

1

用語の微修正

2017/11/27 19:22

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -28,7 +28,7 @@
28
28
  **バグ**は仕様とコードの差から生じます。
29
29
 
30
30
  だから、**仕様とコードを対応させる**必要があります。
31
- 最近普及してきたDDDなども、コードを業務の言葉に合わせていく技法です。
31
+ 最近普及してきたDDDなども、コードをドメインの言葉に合わせていく技法です。
32
32
 
33
33
  仕様の理解には、自分の専門分野の知識、**業務知識**が大事です。
34
34
  典型的なのはたとえば、会計の知識や統計の知識とかがそうです。
@@ -99,11 +99,11 @@
99
99
  まとめると上記が、典型的な**技術的負債を溜め込むアンチパターン**です。
100
100
 
101
101
  逆に今回、技術的資産にした方は、どれも**イニシャルコスト**が高いものです。
102
- 英語や数学が典型的ですが、学習コストが掛かります。OOPも難しい。
102
+ 英語や数学が典型的ですが、学習コストが掛かります。オブジェクト指向も難しい。
103
103
  初期コストが高いと避けがちなので、ずっと身につかないままという場合も多い。
104
104
 
105
105
  だから、**「継続は力なり」**で、筋の良いやり方がたとえ難しくても、
106
106
  たとえ忙しくてできない期間があっても、細く長く続けて学んでいくことが重要になります。
107
107
 
108
108
  一日や二日では効果を実感できなくても、一年や二年も経つと大差になります。
109
- 結論をまとめると、**「急がば回れ」**、**「ウサギとカメ」**です。昔からの真理。
109
+ 結論をまとめると、**「急がば回れ」**、**「ウサギとカメ」**です。昔からの真理。