呟き-抽象化の難読性
小学校の先生が言っていたことですが、たとえば算数でリンゴの個数を計算する問題があったとします。低学年でしたらリンゴの絵が描いてあり、具体的なイメージができます。
左のはこに🍎が2こはいっています。右のはこに🍏が3こはいっています。
りんごはぜんぶでいくつありますか?
このような問題が、高学年になるに従って抽象化されていく。
りんごの個数をxとする。云々かんぬん
アルファベットの変数に置き換えたりするだけで、途端に分からなくなると。
プログラムも同じで、概念としては理解できても、変数の書き方次第で理解しにくく感じてしまう。
def add(a,b): return a+b
たいぶん抽象的。分かりにくい。
この関数の変数を無駄に長いものに変えてみる。長いものに巻かれろ。
def ajout(NummerDieHinzugefügtWerdenSoll,NumeroDaAggiungere): almablaghAliijmaliu = NummerDieHinzugefügtWerdenSoll + NumeroDaAggiungere return almablaghAliijmaliu
更に分かりにくくした。極端ですが、他人のプログラムはこんな感じに見える。楔型文字やエジプト象形文字を見させられた時の印象と変わらないといいますか。
各文字の頻出パターンや言語のルールをある程度飲み込んで慣れてくるのに少々時間が掛かる。慣れているプロでも、変数の書き方を厳しく指摘されているプログラマの方々が少なくないようなので、やはり他人のものは読みにくいという事なのだろう。