見やすいプログラムを書くための一番簡単な方法として、インデント、つまり字下げを行うという方法がある。
意味のある纏まりの行単位でその行の先頭に空白を入れるのだ。
◎データ1 ・リスト1 ・リスト2 ◎データ2 ・リスト3
プログラム以外の書き方をしてみるとこんな感じになる。
これを
◎データ1 ・リスト1 ・リスト2 ◎データ2 ・リスト3
といった感じに書いてしまうと、中身は間違っていないけれども見づらくなる。まあ、こんな適当な字下げをする人はいないだろうけれど。
ここで問題となるのは先頭の空白を半角の空白で書くかタブ文字を使って書くかという問題だ。タブ文字というのはキーボードの左端中間あたりにあるtabというキーを押した時に出る文字のことだ。
Windowsのメモ帳やWordの場合は空白8個分左にずれてくれるのだが、ある程度高機能なテキストエディタの場合だと空白4個分の幅で表示してくれる。
プログラムのなかで字下げをする場合、半角4文字分ずらすというのが一般的なので、テキストエディタを使った場合、字下げにタブ文字を使うと一回tabキーを押しただけで字下げしてくれるので便利なのだ。
しかし、世間一般的にはタブ文字の幅は使っているエディタや表示する環境によって4文字だったり8文字だったりと変わってしまうので字下げにはタブ文字を使わないという人が多くなってきている。
もともと僕は専門的にプログラムを学んだことがあるわけでもなく、社会人になって初めてプログラムを書くことを活計としたので、ブラインドタッチなどできるはずもなく、いわゆる雨だれ式タッチだったのでキーボード入力は遅かった。で、遅いなりにどうすれば早くなることができるのかということを考えた時、キーを叩く回数を減らせばいいじゃないかという結論にたどりついた。
なので、たかだか字下げのためだけに空白キーを最低でも4回も叩かなくてはいけないというのは僕にとって無駄な行為なのだ。
確かに環境によって文字の幅が異なるというのは厄介かもしれないが、それはあくまで8文字分の幅で表示されてしまう環境においてだけのことであるし、それさえも右側に長く伸びてしまうというだけの問題にすぎない。それに4文字分の幅で表示させることが不可能なわけでもない。
タブ文字の利便性と空白文字の利便性の中間をとって、空白文字2個で字下げとする方法もある。個人的にはそれでもいいと思っているが意外と2文字派は少ない。それに高機能なエディタならばタブ文字と空白文字4個との変換を一発で行なってくれる機能がついているので普段はタブ文字で字下げを行い、最終的に空白文字に変換するということもできる。
と、そこまではいいのだけれども、世の中にはPythonというプログラム言語があって、この言語、字下げが単なるプログラムの見やすさだけでなく字下げの数がプログラム的に意味のある言語仕様となっている。もちろん字下げにタブ文字も使うことが出来るのだが、この言語の最新バージョンではタブ文字はなんと空白8文字として扱うというように決められてしまっているのだ。今のところPythonを使ってコードを書くということは行なってはいないのだが、字下げタブ文字派としては厄介な言語だなあと苦々しく思っている。
コメント