ソースコードには性格が出るという話
みなさま、こんにちは。
独立起業システムエンジニアのぽんです。
システムエンジニアやプログラマーが避けては通れないプログラミングですが、そのプログラム自体のことをソースコードと言います。
プログラミングなどに縁のない人には分かりにくいかもしれませんが、よく分からない英語みたいな文字が羅列されているアレですw
ソースコードから見えてくるもの
このソースコードというのは非常に書いた人の性格が出ます。
例え同じ結果になるプログラムだとしても、人によって書き方や構成が大きく変わります。
プログラミング初心者の時は、スクールや書籍、ネットなどで学習したり、経験者に教えてもらったりするわけですが、最初はその内容が自分にとっての「正」となります。
しかし、実際の現場で開発に携わっていると、当たり前ですが他の人が書いたソースコードを目にします。
色々なソースコードを見ていると人それぞれの書き方があって、自分ならこう書くな、とか、この組み方はいいね!などの考察や、この人は面倒くさがりだなぁとか超神経質な人っぽいなとか、色々な情報が読み取れるのです。(もちろん主観ですが)
もちろん、あくまでプログラミングですので、間違った書き方では正常に動作しません。
しかし、ある意味「正解」もありません。
基本的な考え方や「セオリー」のようなものはありますが、最終的に出来上がるソースコードは人によって千差万別です。
良いソースコードとは?
では「良いソースコード」というのはどういったものでしょうか。
10年以上この業界にいるので膨大な量のソースコードを見てきたし書いてきましたが、優秀なエンジニアやプログラマーが書いたソースコードは、一言で言えば「美しい」と感じます。
基本的にプログラムというのは、無駄を省いてソースコードは行数が少ない方がいいと言われます。(ソースコードを読みやすくするための改行やインデントは除く)
確かにソースコードが少ない方が、プログラム自体の容量も少なくなりますし、実行する際の効率もいいと思われますが、一概にそれだけではありません。
場合によっては冗長なソースコードの方が動作が軽快だったりする時もあります。
大事なのは「ちゃんと理由と根拠があるソースコード」だと思います。
また、実際の現場では複数人が自分のソースコードを見る可能性があるため、他の人にも見やすく、わかりやすいソースコードを書くことも重要です。
例えば、運用中に何か障害や問題が発生した場合に、あなたが対応できるか分かりません。
他の人があなたのソースコードを見て問題の箇所を修正する必要がでてきたりすることもあるでしょう。
そういった状況の時に、そのプログラムで何をしているのかが分かりやすいというのは、対応レスポンスに多大な影響があります。
プログラムというのは「動けばOK」ではないのです。
自分ルール
優秀なエンジニアやプログラマーは、誰しも少なからずソースコードを書く際の「自分ルール」のようなものを持っている人が多いと感じます。
細かい話になりますが、ここのカッコは省略できるけど見やすくするためにあえてちゃんと書く、とか、1行で書けるけどあえて3行に分割して書く、とか・・・
一見無駄に思えるようなことでも、自分なりの理由や根拠があり、そのルールにしたがって理路整然と書かれたソースコードはとても美しいものになります。
もちろん最初からそんなソースコードを書けるわけではありません。
知識や経験を積み、自分で効率的な書き方を検証したり、他の人のソースコードを見ていい所を吸収したりしながら「自分ルール」が出来上がって行くのです。
現役の方ならわかると思いますが、私自身も、数年前に自分が書いたソースコードを見ると、ちょっと恥ずかしくなる時があります(笑)
逆に言えば、ソースコードを見れば製作者の性格やスキルレベルなども何となく読み取れるということなので、ちゃんとしたものを納品しないと後で恥ずかしいなと思いながら仕事をしています。
終わりに
これからプログラムを学習しようとしている方たちや、駆け出しエンジニアの方たちにはまだ分からないかもしれませんが、経験を積んでいけばいつかわかると思いますし、分からないなりにも、最初からそういった意識を持って学習していくのは大切なのではないかと感じます。
ぜひ「自分なりのこだわり」を持って、プログラミングを楽しんでください。
最後まで読んで頂きありがとうございます。
よろしければフォロー、スキ、シェアして頂ければ嬉しいです。
コメントや質問、相談などもお待ちしています。
サポートして頂けると狂喜乱舞します。 今後の励みになりますので、よろしくお願いします。