タグ

ブックマーク / teratail.com (3)

  • 大規模開発でオブジェクト指向は本当に変更に強いのか?

    オブジェクト指向(OOP)は変更に強い、と一般に言われます。 カプセル化とかいろいろな機能のおかげで、あとから仕様変更する場合などに他に影響が及びにくい、と。 しかし実際には銀行や官公庁の大規模プロジェクトで、システム開発の失敗や遅延、頓挫などをしばしば見聞きします。 それらはおそらくJavaでOOPで開発されているはずです。 失敗や遅延などする理由は、発注元の曖昧な要求や後出しの仕様変更の多発などが想像されます。 でもOOPであれば、少なくとも仕様変更には強いはず。 なのに、なぜ失敗しまくるのでしょうか? なぜ仕様変更のたびに膨大な影響範囲の調査・テストが必要なのか? ある一部分の機能を変更するだけなら、そのクラスの単体テストだけでいいんじゃないの? 「OOPは設計が大事。最初の設計がダメだった」という意見が想定されます。 しかし数百億円・数千億円規模のプロジェクトに関わるレベルの人です

    大規模開発でオブジェクト指向は本当に変更に強いのか?
  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
  • 残業とプログラミングの効率について

    プログラマーの残業についての質問です。 人月の神話などの教訓もあると思うのですが、どのくらいやるとどのくらい一人のプログラマーアウトプットが落ちるのかなどのグラフやデータはあるのでしょうか。 コーディングする文字数の低下や、工数などの単位で示されているグラフはあるのでしょうか。 この辺について、自分を実験台にするのは悲しいので、参考に知りたいです。 例えば、ちょっと違いますが睡眠時間はこういうのがありました。 http://laugh-raku.com/wp-content/uploads/2013/05/7ae61a6d2298f57c5a19f9a46b49e7531.png こういうデータや考え方についてなにか知っている人いましたら、教えてください。 よろしくお願いします。

    残業とプログラミングの効率について
  • 1