質問: 駆け出し中のエンジニアです。 仕事としてコードを書いてレビューを頂く時に、 「空行」 「無駄なスペース」 「スペースがない」 など、言語の書き方の規則についてたくさんの指摘をレビュー時に頂いております。 自分でもチェックをしているつもりでも改行などはたまに入ってしまうことがあります。 規則なども色々なものがあり、どれを採用するかは企業次第とも聞きます。 そこでですが、何故このような規則文法にエンジニアの方は厳しいのですか? 見やすさ、保守性などでしょうか?
回答: 以前「リーダブルコード」の訳者の方が登壇するリーダブルコード勉強会に参加したことがあります。 このときはその訳者の方が実際にライブコーディングで読みにくいコードを読みやすく書き直す実演をしてくれたのですが、 何が始まったかというと、まさに空行やインデントの修正がまず始まったのです。 参加者の中から、「そんな枝葉末節の修正じゃなくもっとクラスやモジュールの設計を見直すような“らしい”修正を見たい」という声が上がったのですが、 演者の方は「いいえ、これが大事なんです」と即答されていたのが印象的でした。 なぜそういう枝葉末節の整形がそんなに大事なのか、そのときには突っ込んだ議論をしたわけではないので解釈は各人に任されたところがありますが、いかが思われますか。 私はこう考えます -- クラス設計や処理の組み立てのまずさ、そういうのをまず見えるようにしなくてはコードの改善のスタートラインにも立てないということです。コード整形はスタートラインに立つための第一歩であると。 追記 そのときの勉強会のレポート記事がありました(私の書いたものではないです)。 下から2/3くらいのところに、「いや、大事なことですよ!」「一見本質じゃない所をちゃんとする→本質に集中する事が出来る、というのが私の考え。」という発言が見えます。