ごみ捨て場

ソフトウェア・エンジニアリングに関して、これまで得てきた経験と知見を断続的に追記していく試みです。

これ以降未完成、改修中。。。

コード実行時の挙動を型として表せているか、もしくは表せるようなコードとなっているか

コード内の関数について、「~をする」ではなく「~である」と命名しても不自然な構造にならないか

DBや外部サービスとの連携など、その外部状態が型で表現しきれない不定なデータを扱うコードは人の認知的に分離された配置となっているか

処理のすべては関数内に記述されているか(WEBサーバーにおけるbootstrap処理など、プログラムのエントリーポイント実行処理は除く)

関数が扱う値は、引数、その関数内で計算された変更不可能な値、同階層もしくは子階層のファイルの関数・定数のみであるか

不定な外部状態の取り扱いを除く全ての関数の戻り値は引数に対して常に一意であるか