今回のテーマ
こんにちは、かっぱちゃんです。
今回のテーマは下記について書いていきたいと思います。
今回のテーマ
C#のシステム改修をステップ数で見積もることが愚かな話
今回は未だに多いステップ数での見積りについて愚痴っていきます。
「それって、あなたの感想ですよね。」って言われればそれまでですが、
最後まで見て頂ければ、幸いです!私の過去の鬱憤晴らしの記事でもあります!! 😈

C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
C#のシステム改修で本当にあった怖い話
この話はノンフィクションです。私が某メーカー系のプロジェクトで働いていた時の出来事です。
*******ここから本当にあった怖い話*******
上司はシステムに機能追加するためのステップ数を見積りました。
私は機能追加の開発を担当しました。
私のソースコードは見積もったステップ数を満たしませんでした。
上司「どうしてステップ数満たさないの?」
私「ラムダ式やLinqを使ってステップ数を抑えました!」
上司「よくわからないけど、ステップ数を満たさないと顧客に詰められるから困るんだよね。実装し直して。」
私は上司にそのように言われて呆然としました。
ステップ数を満たすために無駄なソースコード(結果が同じになる)を実装するために残業しましたとさ。
めでたしめでたし。
*******ここまで本当にあった怖い話*******

他のブログ記事はこちらにあります。
他のブログ記事はこちら
ステップ数見積りのメリット
良かったことは日本のIT業界ってこんなもんなんだなーって教訓が得られたことですかね 😈
ステップ数での見積りが便利な所は下記だと思ってます。
ステップ数での見積りのいい所
- プログラミングのプの字も分からない顧客を説得しやすい。
- 簡単に見積もることができる
- 試験予定数も簡単に出せる
まぁ、簡単なんですよね。
「この機能を追加するには、これくらいのステップ数が掛かるからお金これくらい頂戴!!」って言いやすいんですよね!
だから、ステップ数が満たなかった場合には、プログラミングのプの字も分からない顧客から
なんでステップ数が見積りより少ないんだ!!と詰められると^^;
C#の開発でステップ数を見積ることが愚かな理由
続いて、C#の開発でステップ数を見積もることが愚かな理由を私の所感で書いていきます。
Linqやラムダ式の使い方をマスターしている方は分かっていると思います。
ソースコードを載せれば明確ですね。二つのソースコードを書きます。
配列から文字列の長さが8以上のロボット名を抽出するソースコード
- for文を使った例
- Linqを使った例
まずはfor文を使った例です。
for文を使った例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; class Program { static void Main(string[] args) { var robotarray = new string[] { "Rockman", "Rollchan", "FIreman", "Iceman", "Quickman" }; for(int i = 0;i <= robotarray.Length - 1; i++) { if(robotarray[i].Length >= 8) { Console.WriteLine(robotarray[i]); } } } } |
出力結果
Rollchan
Quickman
次はLinqを使った例です。
Linqを使った例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; class Program { static void Main(string[] args) { var robotarray = new string[] { "Rockman", "Rollchan", "FIreman", "Iceman", "Quickman" }; foreach(var robot in robotarray.Where(n => 8 <= n.Length)) { Console.WriteLine(robot); } } } |
出力結果
Rollchan
Quickman
二つの例を書いていきました。出力結果も同じで目的を達成できています。
次にそれぞれステップ数をみてみましょう。
for文:16行
Linq:13行
なんていくことでしょう!!
Linqの方がステップ数が少ないのです!!
for文で開発したほうがバグも出やすいし、分かりにくいのに!!!
C#でのステップ数見積りは結論から言うと、下記のようになります。
結論
繰り返し文にLinqを使用しない方が単価が高い!!
C#を勉強すればするほど損するなんて!!許せない!! 😈
以上です 😳
何年か前の鬱憤です 😳

まとめ
今回はC#プログラミングでステップ数で見積もることが愚かな話をしました。
C#に限らず別の言語でもステップ数の被害者となる若きSEは沢山いると思っています。
プログラムの勉強熱心な人が書いたソースコードのほうが単価安いなんておかしいですもんねー。
そのような同じ境遇の方がみてくれていれば幸いです。
それでは、最後まで読んで頂き、ありがとうございました。

次の本当にあった怖い話を書きました。良ければみてください!
-
-
参考C#のシステム改修で本当にあった怖い話2 全ての行のソースコードにコメントを書くために残業しました編 IT業界志望している方は是非みてね
C#を学ぶならガチで読んで欲しい本はこちら 今回のテーマContents1 今回のテーマ2 本当にあった怖い話(ソースコードレビュー1回目)3 本当にあった怖い話(ソースコードレビュー2回目)4 本当 ...
続きを見る
ITエンジニアの転職の記事について書きました!!良ければこちらの記事をみてください!!
こちらもCHECK
-
-
システムエンジニアが人間関係などのネガティブな転職理由で、3回転職し、年収を上げることが出来た話 独立系IT企業、メーカー系IT企業、社内SEの大体の年収を公表します。
C#を学ぶならガチで読んで欲しい本はこちら 今回のテーマContents1 今回のテーマ2 転職を悩んでいる方へ3 かっぱちゃんの転職理由4 私の使用した転職サイト5 まとめ こんにちは、かっぱちゃん ...
続きを見る
年収400万以下の人は是非チェックしてください!!
こちらもCHECK
-
-
社会人4年目で年収400万以下のシステムエンジニアはすぐに転職した方がいい話!!転職がオススメの理由とオススメのIT求人専門サイトを紹介します。
C#を学ぶならガチで読んで欲しい本はこちら 今回のテーマContents1 今回のテーマ2 システムエンジニアはどこも人手不足3 転職は3回しています4 年収を上げる条件5 私の情けない転職理由6 転 ...
続きを見る
他のブログ記事はこちらにあります。
他のブログ記事はこちら
C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
新しいサイト作りました。アニメのまとめサイトです。
映画ドキュメンタリ版のブログはこちら
レインボーまとめサイト(映画ドキュメンタリー版)
ポケモンまとめブログはこちら
レインボーまとめサイト(ポケモン版)