生まれてはじめてプログラミングをやった時に、とても不安な気持ちでいっぱいだった事をよく覚えています。
今ではアナログな事をデジタルで実現するためにプログラミングを道具として使うことができるようになりました。
そして、自分で作ったプログラミングコードを見て毎回思うことは、「もっとキレイに書けたのに」と手直しをしたくなります。
これは、プログラミング学習をすればするほど、これまで作ったプログラミングコードが稚拙に見えてしまうという、自己成長の証でもあります。
そんなプログラムの事であまり教科書では教えてくれない内容を、ブログに書いておきたいと思います。
教科書に書いていないif文のルール
プログラミングの「比較演算」と言われている、if文は、ほとんどのプログラム言語で、書き方は若干違うものの、大体において同じ構図になります。
if( A < B){
...
}
Aに入っている数値がBよりも小さい事を判定する比較式です。
次の場合はどうでしょう?
if( B > A){
...
}
これも、AがBよりも小さいことを判定する内容ですが、声に出して言う場合は、
「BはAよりも大きい」
です。
はじめに言っておきますが、プログラミングとしての結果は全く同じです。
でも、説明する時に、言い方が変わることにお気づきでしょうか?
比較演算子の理解
<演算子
記号名 : 山カッコ、山カギ(開始)
演算名 : 小なり、less than
>演算子
記号名 : 山カッコ受け、山カギ終了
演算名 : 大なり、grater than
※上記以外にも呼び名はあるので、
コチラを参考にしてください。
解説
<は、英語では明確に、より小さいという意味になり、日本語でも理数系では、「小なり」という風に呼ばれています。
左側の値が、右側の値よりも小さいという意味が分かります。
>に関しては、上記の逆なのですが、これをちゃんと理解できていると、A<Bが「AがBより小さい」という翻訳が理解しやすいと思います。
文章構文で考えると、左側から読んでいく通常の文章で考えると良いです。
プログラムでも主語がある?!
実は、プログラミングって、理数系の知識が重要と思われがちですが、国語の知識も非常に大きく重要であることが、上位プログラマーの人は必ず言います。
上記の左から認識するという文章構文もそうですが、プログラミングにも、ちゃんと主語や述語などが存在するんですね。
次のような関数を作ったとして説明してみます。
function calc(A=1){
B = 2
if( A < B){
...
}
else{
...
}
}
内容を説明すると、関数culcに送られてきたAという値がBの値よりも小さい場合と、そうでない場合の処理を行っています。
Bの値は固定値なのですが、Aの値は、関数実行時にどんな値が送られてくるかわかりません。
すると、この関数の中で注目すべきは
Aの値という事になりますよね。
ということで、この関数内は、
Aが主語で、
<が述語という風に考えると、作文を書くかのようにプログラミングされているのが理解できます。
そして、主語、述語のような並びに書くと、そのプログラムを見るだけで、文章が頭の中で読むことができるようになるんです。
もちろん、こんなシンプルなプログラミングだけじゃないことは百も承知ですが、こうした例を基本構文として理解しておかないと、主語がわからないプログラミングをした場合に、後日自分が見ても分かりにくいプログラミングになっている事は間違いないでしょう。
まとめ
プログラミングの演算子を書く時に、左、右、の順に、主要変数を配置し、比較演算子の意味を理解する事が重要。
プログラミングにも、主語、述語などの、文章構文が存在することを理解して、文章を読む間隔で読めるプログラミングコードが、良いプログラムとして評価される。
結果が同じであれば、どーでもいいというモノではなく、処理をする裏側で動いているプログラムがきちんとルールにのっとって書かれているのがキレイなプログラムであるという事。
キレイなプログラムは、何か不具合が起きた時にその原因が見つけやすいだけじゃなく、その後の機能追加や、他人との共同開発における作業に大きく影響してきます。
このように、そこまでは知ってて当たり前という様な内容が書かれている参考書はあまりありません。
if文一つで、ブログ記事が1つ出来てしまうほど、深い内容だったなんて、考える初心者プログラマーも少ないし、こんなことより、もっと便利な関数を覚えたいという気持ちも分かります。
とにかく知っておいて損はない内容だと思うので、頭の片隅に置いておく事をオススメします。
0 件のコメント:
コメントを投稿