コードの清書 縦ぞろえ
概要
コードの縦ぞろえとは、同じ種類の構文を繰り返し書くときに、
構文の構造通りに、縦のラインをそろえることです。
変数定義
不適切な例
変数名の長さが異なる時、
以下のようにインデントがずれることが
よくあります。
しかし、これは読みづらいので、
気づいたら書き直しましょう。
以下の例は、PowerShellのコードです。
$odds = 1, 3, 5
$evens = 0, 2, 4
望ましい例
変数名、変数定義の演算子、変数の値、の開始位置がそろっていますね。
$odds = 1, 3, 5
$evens = 0, 2, 4
連想配列の要素定義
不適切な例
連想配列の要素定義でも、キーの長さが異なる時、
そのままでは以下のようにでこぼこな並びの
ソースコードが出来上がります。
以下の例は、PowerShellのコードです。
$countryToCapital = @{
Japan = "Tokyo";
America = "WashintonDC";
SouthKorea = "Seoul";
China = "Beijing";
}
望ましい例
キー、定義演算子、値、のそれぞれの開始位置がそろっています。
$countryToCapital = @{
Japan = "Tokyo";
America = "WashintonDC";
SouthKorea = "Seoul";
China = "Beijing";
}
クラスのプロパティ定義
不適切な例
これもよくある例です。プロパティ名の長さは異なるので、
放っておくと、以下のようにプロパティ名と型名の間で
目が左右に行ったり来たりします。
以下の例は、TypeScriptの例です。
// グーグル検索のページオブジェクトを定義するクラス
class GoogleSearchPage {
// プロパティを定義
url : string;
searchTextArea : SelectorPromise;
searchButton : SelectorPromise;
}
望ましい例
こうすると、
インデントがそろうので、
余計な目の移動が抑えられます。
// グーグル検索のページオブジェクトを定義するクラス
class GoogleSearchPage {
// プロパティを定義
url : string;
searchTextArea : SelectorPromise;
searchButton : SelectorPromise;
}
ライブラリのインポート
不適切な例
ライブラリ名も長さが違うため、放っておくと、
以下のように微妙にインデントのずれたソースコードが
量産されます。
以下の例は、Pythonのコードです。
# 型アノテーションのためのライブラリ
from typing import Dict, List
# ファイル読み書きのためのライブラリ
from pathlib import Path
望ましい例
ライブラリの指定キーワード、ライブラリ名、
インポートキーワード、インポートする項目、
これらの開始位置がすべての行で縦にそろっています。
# 型アノテーションのためのライブラリ
from typing import Dict, List
# ファイル読み書きのためのライブラリ
from pathlib import Path