きのこ本 感想 Part10


きのこ本こと

プログラマが知るべき97のこと

プログラマが知るべき97のこと

の感想です。

やっとPart10ですね。
あと30近く記事を書かないといけないと考えると、まだまだ先は長いですね。もちろん最後まで頑張っていきますよ。

28 「魔法」に頼り過ぎてはいけない (アラン・グリフィス, Alan Griffiths)

知らないことを知らないままにしておくというのは、怖いときがありますね。

実際に、「これは必要ないのではないか」と思ってはずしてみると、とたんにおかしなことが起こり始めて実は必要なさそうに見えたその部分に大きく依存していた、なんてことがあります。

知らないことによって問題を出してしまうというのは、どんな場面でもよくおこります。もちろん知らないことが全て積だとは思いませんが、進んで知ろうとしない場合には無知は罪となりえるのでしょう。ここで言っている「魔法」というのはおそらく、知ろうともせず使っているものの事みたいですね。ライブラリもそうですし、プロジェクトでも他の人の仕事というのが一体どのように回っていて、そしてどのように自分に関わってきているのかを知ろうともしないというのは「恥」なのかもしれませんね。

プロジェクトに関わると、誰か一人でも抜けるととんでもなく大変だということがよくわかる気がします。
実開発から比べるとお遊び程度と言ってもいいような開発でも、一人抜ければその穴を何人もで埋めなければいけないというのを見ました。 ( もちろん、その程度であれば一人の天才で何とかなるときもあると思いますが、大きなプロジェクトになれば、一人の天才ではプロジェクトが成功に導かれることはまずないと思います。 )

エッセイに書いてある通り、自分の知らない仕事、直接かかわらない仕事をしている人を尊重するというのは、とても大事なことです。そういう人がいて、はじめて自分の仕事が成り立っているということを肝に銘じて取り組まなければ、痛い目を見るのはおそらくその人自身になるのだと思います。

29 DRY原則 (スティーブ・スミス, Steve Smith)

DRY原則、懐かしいってくらい前に聞いたことがある気がします。といっても、プログラミングはじめてからが4年なので、せいぜい4年以内なんですが…

DRY ( Don't Repeat Yourself : 繰り返しを避ける ) というこの原則は、名前を知らずとも内容自体は知っている人も多いのではないでしょうか。 ( DRY原則という名前を知る前の私はそうだったと思います。 )

繰り返しを避ける、重複を除去する。当たり前のことのようですが、意識してやろうとしないといつの間にか重複がふんだんに盛り込まれていたりします。見えにくい重複というのもよくあって、結構大変です。

またコードのみでなく、作業の重複も防いでいかないといけません。「〜の自動化」、という言葉が出てくるのはこのためです。

重複の除去に関して、テストを行いながらというのは大切です。常にTDDのリファクタリングのような形で重複除去がおこなわれるのが最も適切だと思われます。

この指針の下でしっかりコーディングしていくとシンプルかつ綺麗なコードを書けるようになります。もちろん。他にも気をつけるべき点は多いと思いますが、

30 そのコードに触れてはならない! (カル・エヴァンス, Cal Evans)

このあたりは私があまり知らないところです。独学、かつプロジェクトに組み込まれたこともない私にとっては未知の領域ですね。ただ、こういう話は聞いたことがあった気がします。

開発において、本番環境で修正というのはあってはならない、そんな話だった気がします。

もちろん、本番環境に管理やセキュリティ面の問題が発生するようなことがあれば、そういう責任の問題も発生するでしょうから触らない方がいいのでしょう。

また、バグを開発者の一任で本番環境で直すというのは、障害の発生につながりやすいことも事実だと思うので、こういう点からもやるべきではないのでしょう。

…むむ、難しいですね。このエッセイに関しては感想を書こうとしても、そうなのか、と言った感じです。でも、実際の事例も聞いたことがあるので、これから先関わっていくことになったときには気をつけたいですね。

最後に

Part10を迎えて、知っていること、知らないことがだんだんと見えてきた気がします。
私は学生で、かつ独学でプログラミングを勉強しているので、やはりプロジェクトに実際に関わってみないとわからないところは知らないことが多いようです。そういった私と同じような人にも、もっと初心者の人にも、そして上級者の人でも、そういうことがあるといったことや、もう一度知識を改めて振り返るいい機会を与えてくれる本、それがきのこ本かもしれませんね。

広告を非表示にする