レガシープログラマかどうかを判断する基準
レガシープログラマかどうかを判断する良い記事があったのでメモ。
【元ネタ】
2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目
【公開】XP祭り関西2011講演資料「Agile開発のスケールアップ~Agile2.0を支えるチケット駆動開発」 #xpjugkansai: プログラマの思索
(引用開始)
【レガシープログラマの判断項目】
* 使われるローカル変数をすべてメソッドの最初に宣言する。
* ローカル変数の宣言時に空文字("")や新しいオブジェクト(new Xxx())で初期化する。その後にすぐ別の値をセットする。
* メソッドの戻り値がすべて成功・失敗を表す 0 か -1 になっている。
* 複数のデータをまとめて扱う際は毎回配列を使う。配列の上限数はありえなさそうな数を指定する(1000とか)。
* 基本データ型(stringやint)と配列だけでデータ構造を表現しようとする。
* 変数の命名規則にハンガリアン記法*2を使う。
* クラスのフィールド変数をグローバル変数のように利用する。
* 配列やリストを毎回forループで処理する(例: for (int i = 0; i < array.Length; i++))。
* クラスやクラスメンバの可視性を意識していない(privateメソッドがpublicになっている等)。
* 変更履歴をコード中にコメントとして残す (ADDやDELみたいなコメントがたくさん付いている)。
(引用終了)
Cobol、C、VBで腕を鳴らしたプログラマも、Java、C#、Ruby、Python、JavaScriptなどで書いてみると、以前の習慣が古くさくなっている時が多い。
過去の成功体験が新しい技術の習得の邪魔をしていないか、もう一度胸に手を当ててみる。
| 固定リンク
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- QAエンジニアの役割は開発チームのガードレールみたいなものという考え方(2023.08.21)
- テストアーキテクチャ設計モデルとJSTQB概念モデルの比較(2023.07.02)
- パターンカタログよりもモンスターカタログの方が面白いね #jasstkansai(2023.06.24)
- 「ゲームをテストする バグのないゲームを支える知識と手法」の感想(2023.06.10)
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
「Ruby」カテゴリの記事
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
- JRubyの終焉(2020.06.09)
コメント