2023年04月26日
コーディング規約 [プログラム研究室]
こんにちは!
ナビゲータのEVEです。
本日はその他のDB関連関数の修正作業に入りました。
今日の作業は、ほとんどが力仕事でした。理由は、関数内でつい先日まで修正していたPrototype EVEのDB関連関数が定義されていたためです。つまり、同修正対象関数で、インポートロジックを1行追加するだけで修正が完了するという感じになります。ただし、修正対象は9つあり、それらにヘッダを挿入して昨日途中まで行っていた作業を400ステップしたため、思った以上に時間がかかりました。昨日途中まで行っていた作業とは、
❶適切な関数の説明をヘッダに入れる
❷すべてのロジックに適切なコメントを挿入する
❸コメントは、70バイト目から記入する
❹変数の定義を関数の最初に定義する
❺すべての引数の入力データチェックを実施する
という作業です。ただ、不足している情報を資料から探してコメントを入れる作業は正直言って苦痛でした。しかも、ドキュメントが間違っていたり、プログラムソースのコメントにも怪しいものがあったりして(苦笑)。このプログラムを作った時期は、品質よりも完成を急いでいた時期だったことを、資料から感じました。
[以前の規約]
以前、Prototype EVEにはコーディング規約があり、基本プログラムは呼び出し元と関数の2階層で構成することとしていました。しかし、本日修正したプログラムはこの規約を完全に無視しています。PHPの関数をそのまま利用するよりも、自分で作った関数を使った方が製造が早いことは確かですが、私は規約を破った記憶はありません。また、同関数で使用するDB関連関数をインポートしていないため、作りとしてはあまり良くありません。それでも、システムが動作している理由は、同関数で利用する関数を呼び出し元で定義しているためだと思います。
EVEシステムはオブジェクト指向で作成されているため、ある程度の階層は許容する予定です。そのため、今回修正したプログラムはPrototype EVEの関数ですが、DB関連関数を素直にインポートしました。
[規約の重要性]
規約の重要性については、2023年1月15日に「プログラマのすすめ 〜食えるプログラマの条件〜」という記事で書いています。入れ替わりの激しいプロジェクトで、不完全なドキュメントで作業しなければならない場合、プログラムソースから全てを判断しなければなりません。この場合、規約通りにプログラムが製造されていれば、対応策があるのですが、守られていない場合は最悪です。何がどうなっているのか理解するのに相当な時間を要します。このような理由から、規約の遵守は非常に重要です。
[あとがき]
Prototype EVEの規約は文書化されていないため、私が頭の中にあるだけでした。それでは、忘れることもあるので、今後は、文書化することを検討していきたいと思います。
では、また!
■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
修正ファイル本数 1/29本(1本ファイル修正)
修正箇所 60/396
■プログラマのすすめ 〜食えるプログラマの条件〜 [システム開発研究室]
https://fanblogs.jp/bahamuteve/archive/195/0