設計書を作成していると自分の能力不足が悲しくなる。
『ここのIF文、こうした方が分かりやすいよ』
『ここをこうしたらボリュームが抑えられて読みやすいよ』
と、色々と教えてもらえて嬉しいのだが、同時に『何故俺はその道に気づくことが出来ないんだ??』と落ち込んでしまう。
『今度こそは!』と思い気合を入れて考えてみても更にその上を行かれる。
僕の考え方は確かにスマートじゃない自覚はある。
これがセンスの差なのだろうか・・・(-_-;)
と、言いつつも一度教えてもらって理解できれば次の機会には活かせたりする。
そう考えればセンスが劣っているというだけでもなく、単純に経験不足によるものとも言えるかもしれない。
(もちろん、センスも知識も劣等生な自覚はあるんだけれども・・・)
こういう風に指摘してもらうことで成長できている、と思いたい。
ただ、この条件分岐という奴が設計書とコード上での話だけでないのが事態をややこしくしている。
それらを超越した現実的な問題。影響度とか立場とかそういう話。
新規で作成する機能だったら好きなようにリファクタリングして良いんだけれども、既に運用されているプログラムの一部の機能を修正する時とかにはそうはいかない。
如何に既存の動作に影響を与えないか、を考慮して組まないといけない。
つまり、単純にベストな条件分岐を作るだけではダメだったりするらしい。
IFで囲んだ結果、バグで正しく条件分岐できなくて既存の動作が行われなかったり、とかそういうリスクを除外するって話。
ただ、そういう風に下手に継ぎ足し継ぎ足しで改版を進めていった結果、数年後にはめっちゃくちゃ読みにくくなっていたりとか、それはそれで駄目。
だから良い塩梅にソースコードを改修していく・・・ってその良い塩梅の条件が分からない(^^;)
目に見える条件でもないし、ベストな結果でもないし、唯一の正解がある訳でもない。
まさに経験の為せる業と言えるだろう・・・。
っていうか経験を積んで選択した道が正しいとも限らんというね(笑)
まあ、何にせよ僕はまだまだ実力不足。
プログラミング能力が足りていないのもそうだけど、それを磨くだけでは良いエンジニアにはなれないということを日々感じますね(-_-;)
もっと早く成長したい。