「中級者病」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Fallout New Tokyo
 
(6人の利用者による、間の9版が非表示)
2行目: 2行目:
  
 
== 概要 ==
 
== 概要 ==
初級者から中級者へ昇格する時期は、ほぼどんな[[ソースコード]]でも読める程度に[[プログラミング言語]]に精通し、また偉い[[プログラマー]]の提唱した[[デザインパターン]]も一通り理解したくらいである。
+
初級者から中級者へ昇格する時期は、ほぼどのような[[ソースコード]]でも読める程度に[[プログラミング言語]]に精通し、また偉い[[プログラマー]]の提唱した[[デザインパターン]]も一通り理解したくらいの時期である。
  
 
すると、[[プログラミング言語]]の持つあらゆる機能と、偉い[[プログラマー]]の提唱するあらゆる技術を使わねばならないという思い込みが発生する。そして[[Hello World]]にまで崇高な[[オブジェクト指向]]や壮大な[[デザインパターン]]を適用しようとしだすのである。
 
すると、[[プログラミング言語]]の持つあらゆる機能と、偉い[[プログラマー]]の提唱するあらゆる技術を使わねばならないという思い込みが発生する。そして[[Hello World]]にまで崇高な[[オブジェクト指向]]や壮大な[[デザインパターン]]を適用しようとしだすのである。
10行目: 10行目:
 
* 迷路のような変数渡し
 
* 迷路のような変数渡し
 
* 底なしに深いネスト
 
* 底なしに深いネスト
などといった凄いものが生まれる。
+
などといった凄い(ただし誰も理解できない)ものが生まれる<ref>[http://www.atmarkit.co.jp/ait/articles/1210/17/news146.html  IT用語解説系マンガ:食べ超(9):スパゲッティコード・モンスターがやってきた! - @IT]</ref>
<ref>[http://www.atmarkit.co.jp/ait/articles/1210/17/news146.html  IT用語解説系マンガ:食べ超(9):スパゲッティコード・モンスターがやってきた! - @IT]</ref>
 
  
また、[[条件分岐]][[三項演算子]]を乱用するなどの症状も多く見受けられる。
+
また、[[条件分岐]]に多段の[[三項演算子]]を乱用するなどの症状も多く見受けられる。
 +
最終的には第三者にとって読みにくい保守性の悪い[[スパゲッティコード]]が生成されることになる。
  
最終的には第三者にとって読みにくい保守性の悪い[[スパゲッティコード]]が生成されることになる。
+
[[職業プログラマー]]において中級者病の症状が発症すると、[[仕様書]]の作成や[[単体テスト]]などの工程を省き、「○○日で完成させた」などと工期の短さを自慢するようになる。さらに、そのような手抜きを前提とした[[見積書]]を作り、ライバル他社のお硬い見積書に対して「あそこの会社[[ボッタクリ]]っすねぇw」などと営業しだすことが多い。
 +
 
 +
中級者病は教育環境に依存すると言われており、とくに教育した人間が悪いと好発しやすいと言われている。軍事や医療、金融などの世界では新入社員教育の一環として中級者病を防ぐ目的で「保守性」と「堅牢性」を第一に叩き込まれる。
  
[[職業プログラマー]]において中級者病の症状が悪化すると、[[仕様書]]の作成や[[単体テスト]]などの工程を省き、「○○日で完成させた」などと工期の短さを自慢するようになる。
+
なお、[[プログラミング]]していて一番楽しい時期でもある。
  
 
== 関連項目 ==
 
== 関連項目 ==
 
*[[スパゲッティコード]]
 
*[[スパゲッティコード]]
 +
*[[ワンライナー]]
 +
*[[三項演算子]]
 
*[[C Sharp/null合体演算子|null合体演算子]]
 
*[[C Sharp/null合体演算子|null合体演算子]]
*[[三項演算子]]
 
  
 
== 参考文献 ==
 
== 参考文献 ==
 
{{reflist}}
 
{{reflist}}
 
{{stub}}
 

2021年10月21日 (木) 05:31時点における最新版

中級者病(読み:ちゅうきゅうしゃびょう)とは、プログラミングなどを学ぶ際に、とくに中級者が陥りやすい精神疾患のことである。

概要[編集 | ソースを編集]

初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。

すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならないという思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを適用しようとしだすのである。

その結果、

  • 大量のクラス
  • 迷路のような変数渡し
  • 底なしに深いネスト

などといった凄い(ただし誰も理解できない)ものが生まれる[1]

また、条件分岐に多段の三項演算子を乱用するなどの症状も多く見受けられる。 最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。

職業プログラマーにおいて中級者病の症状が発症すると、仕様書の作成や単体テストなどの工程を省き、「○○日で完成させた」などと工期の短さを自慢するようになる。さらに、そのような手抜きを前提とした見積書を作り、ライバル他社のお硬い見積書に対して「あそこの会社ボッタクリっすねぇw」などと営業しだすことが多い。

中級者病は教育環境に依存すると言われており、とくに教育した人間が悪いと好発しやすいと言われている。軍事や医療、金融などの世界では新入社員教育の一環として中級者病を防ぐ目的で「保守性」と「堅牢性」を第一に叩き込まれる。

なお、プログラミングしていて一番楽しい時期でもある。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]