木戸めぐるの巡回動機

~副題はまだない~

Python初心者がPythonで「読みにくいソースコードのプログラム」が作れるか挑戦する

PythonVBAを比較してみる記事第2弾です。

第1弾はこちら↓。

kidomeguru.hatenablog.com

 

【目次】

Pythonプログラミングの面白いところ

Pythonというプログラム開発言語は、

「誰が書いてもほぼ同じようなプログラムソースコードになる」

という面白い特徴を持ちます。

(プログラムソースコードとは「特定のプログラム開発言語で記述された命令文の集まり」)

ãæ©ã¿ãé ­ããããããç·æ§æ©ã¿ãé ­ããããããç·æ§ãï¼»ã¢ãã«ï¼å¤§å·ç«å¼¥ï¼½ã®ããªã¼åçç´ æãæ¡å¤§

プログラム開発言語に詳しい方ならご存知でしょうが、その界隈では「VBA」は好かれていない、というか嫌われている言語の代表格として挙げられることが多いのです。

理由は多々あると思いますが、そのうちの1つが「読みにくいプログラムが量産されやすい」というものです。

 

読みにくいコード、読みやすいコード

実際に、VBAで「西暦の年を入力したら平成の年を求める」というプログラムを書いてみます。

f:id:kidomeguru:20181104060942p:plain

プログラムを実行すると、入力画面が現れます。

「2018」と入力してEnterを押すと・・・

f:id:kidomeguru:20181104062830p:plain

以下のように平成の年を求めることができました。

f:id:kidomeguru:20181104062928p:plain

 

続いて、上記のプログラムを読みにくく書いてみましょう。

f:id:kidomeguru:20181104061404p:plain

これ以上読みにくくすることもできますが、私の精神にあくえいきょうがでそうなのでこれぐらいで……うごごご。

 

VBAの場合、上記2つのプログラムは、どちらの書き方であってもプログラムに求められる要件(西暦から平成の年を求める)は満たします。

読みやすくても読みにくくても動作するゆえ、「読みやすく書かなくても動けばいい」という考えで作られることがあります。

 

Pythonで読みにくいソースコードのプログラムは作れるか?

結論から言うと、無理でした

f:id:kidomeguru:20181104064523p:plain

Pythonの上級者なら読みにくくする方法も知っているかもしれませんが、初心者の私ではなるべく読みにくくしても上記のようにすっきりしたソースコードに。

f:id:kidomeguru:20181104065039p:plain

 

Pythonはコーディングに関する制限がVBAより多いのに、書きやすくなるように設計されているという、「そりゃあ好かれるわな」という凄い言語でした。

 

VBAで読みやすいソースコードを書く方法は、以下の書籍がわかりやすくてオススメです。この本↓は別ですが、なんでプログラミング関連書籍って論理的だけど冗長的な文体で書かれているんでしょうか……

ExcelVBAを実務で使い倒す技術

ExcelVBAを実務で使い倒す技術