フリーランスITエンジニア:プログラマは1日何行コードを書く? 平均のコード行数

Freelance

プログラマーはソフトウェアで1日何行の数のプログラムコードを書くのか?開発現場で見てきて質問が多い内容ですが内容としてまとめています。プログラマーと言えばコードを書く専門家となります。プログラマーが一日で書くコードの量を気にする方がよくいます。これは既存のコード改修になるのか、それとも新規で実装になるのかでかなり話は変わってきます。

プログラムにおけるステップ数とは?

ステップはプログラミング時に作成された行数のことをいいます。ステップ数はソフトウェアの規模を表す指標になったり、ある程度の水準を知るための指標になります。ステップにはコメントや空行もカウントする「物理ステップ数」とコメントなどの余計な行を抜いた「論理ステップ数」の2つがあります。一般的には倫理ステップ数を使います。この記事でいうコードの行数はステップ数を指します。

筆者の意見はあまり気にしていない

私は20年近くプログラマーをしていますがわたし的には普段の仕事であまり問題にはしていません。少なくともコードの量が大きくなったからといって仕事をしたとも思わないのです。コードの書く量で採用が決まるわけではありません。

評価の指標はあくまで品質の高さにある

評価の指標はあくまで品質の高さにあるので努力をするなら品質を上げましょう。誰でも読めるようなコードが重要。書き方を工夫することで解決できます。

プログラム開発におけるコードのステップ数一日平均

ステップ数の1日平均というのはシステムの規模や開発内容によってかなり変わります。ロジックを作り込むところで、何時間も詰まってしまうところもありますし、その反対でスラスラ進んでしまうところもありますので、難易度にも依存します。

以上のような背景があるため、平均というのはあくまで指標の一つでしかないという前提のもとに話をしますが、平均で見ると300行くらいとされています。

作業内容に強く依存する

コードの行数に関しては以下でも説明していますが、作業が新規開発なのか、既存コードの修正なのかでもかなり行数が変わっていきます。他のプログラマーにも同じことを返すでしょう。業務の少ない仕事の場合はコードを書く量は極端に減ります。プロジェクトの規模にも影響を受けます。納期、仕様によっては徹夜も発生します。機会が多いと、学生でも分からなくても未経験でやることがあります。

担当工程にもよる

プログラム、テストなど担当する機能、役割によってもコードを書く量が変化することになります。コーダーと言うのは基本的にプログラマーを指しますが、予算の少ない仕事、プロジェクトの場合は、それ以外の役割の方がプログラム修正をすることもあります。業界での担当は必ずしも固定されているとは限りません。情報セキュリティ管理やデザインをしている人がコーダーをやることもあります。

スキルと経験にもよる

大学で勉強をしていたような人は新人からでもコードをたくさん書くことができますが、素人だとそもそも書けません。php、C言語、html、javascriptやcssなどのweb開発言語などを教えても数ヶ月レベルではなかなかできません。結果を出せる人ほど、任せられる量が増えていきます。段階をふんで管理メンバーなどが業務量を多く要求をしていくことが多いです。

既存コード修正の場合

ステップ数の平均とはいっても新規作成と既存の第三者のコード修正では全く持って手を動かす量が変わってきます。既存コードの修正になると、そもそもですがまずはソースコードの読解からしなければならないため、いきなり手を動かすということはあり得ません。既存コードの修正の場合は大規模なシステムであるケースも多くソースの総ステップは10万以上になることも良くあります。

また、既存コードの修正の場合はよほどのめちゃくちゃな作りになっていない限りはある地点にソースコードを付け加えたり、変数を入れ替えたり、分岐やループ文を加えたりとなりますので、総合的に見れば手数はそれほどかからないケースが多いです。

そして既存コード修正の場合は大規模なシステムになっていることも多いため、自分が変更をかけている個所の確認ももちろんですが、全体を通して動かしたときにエラーが出ないかどうかも確認する必要はあります。

新規作成の場合

これに対して小規模なアプリやExcelのVBAなどはまさに新規作成のパターンばかりになるでしょう。この場合は良くも悪くも自分次第になるでしょう。勿論実装をする前にまずは詳細設計書をしっかり理解しておくことが求められます。理解したうえで実装をする場合は、本当に早い場合だと1日で1000~2000行以上書けてしまうことも多くあります。

これは既存ソースの改修とは違って、すべて自分でソースの構成、作り方も決められてしまいますので、動きやすいのです。しかし新規作成の場合は、あなた以外の第三者から見ても以下に理解できやすく、簡単に修正できるコードを作る必要があります。これができないとあなたがいなくなったときに引き継ぐ人が炎上します。

新規作成の場合は自分の好きなようにできてしまう点がメリットですが、第三者が直しやすいコードを作ることに集中することが大事でもあります。

たくさん書ける=優秀ではない

以上のようにシステムの環境などにより、一概にたくさん書ける=優秀とは限りません。その時の状況に臨機応変に対応できるプログラマーが優秀ということになるでしょう。勿論そのような熟練プログラマーはサラリーマンではなくフリーランスとしても活躍できます。独力で仕事ができるプログラマーであれば仕事はたくさんもらえます。

コメント

タイトルとURLをコピーしました