ソースコードに技術者のレベルが現れる [プログラマー現役続行]
新規に書かれたソースコードを見ると、それを書いた技術者のレベルがある程度分かります。特に、レベルが低いエンジニアが書いたコードほど、よく分かります。レベルが低いというのは、全くの初心者という意味ではありません。社会人となってソフトウェア開発に従事して数年を経過して、本人はプログラミングできると思って書いているレベルであっても、書かれたコードを見ると、レベルが低いということです。
レベルが低い大きな理由の1つは、自分が書いたコードをスキルが高い人にレビューしてもらうという習慣を本人が持たないし、組織も持たないからです。もう1つの大きな理由は、使用しているシステムや開発言語に関した、きちんとした学習をしていないということも挙げられます。※
※ たとえば、Java言語で開発していても『Effective Java』を読んだことさえないとか。
「初心者だからと言って汚いコードを書くことが許される訳ではない」ということで、レビューによって初心者が書いたコードの品質を上げる努力を組織として継続している場合には、本人の勉強不足はレビューによる指摘によって補われ、コードには現れないかもしれません。しかし、レビューをきちんとしない組織では、本人のレベルと学習不足ははっきりとコードに現れます。
つまり、ソフトウェア開発組織の成果物であるソースコードを見ていけば、その組織を構成するエンジニアのレベルがある程度分かってしまうということです。しかし、幸か不幸か、通常の企業活動におけるソフトウェア開発ではソースコードが外部へ公開されることはありませんので、外部からその開発組織に属するエンジニアのレベルを知ることはできません。
しかし、その開発組織のトップやリーダはソースコードを見ることができる訳ですから、ソースコードを見て自分の組織に属しているメンバーのレベルを知ることはできます。あるいは、業務委託先から納品されたソースコードを見れば、その業務委託先のレベルは分かったりします。ただし、見て判断できるレベルの人が見ればですが。
ソフトウェアエンジニア個人としては、自分が書くソースコードは、自分のスキルレベルを写し出すものだと認識することが重要です。
レベルが低い大きな理由の1つは、自分が書いたコードをスキルが高い人にレビューしてもらうという習慣を本人が持たないし、組織も持たないからです。もう1つの大きな理由は、使用しているシステムや開発言語に関した、きちんとした学習をしていないということも挙げられます。※
※ たとえば、Java言語で開発していても『Effective Java』を読んだことさえないとか。
「初心者だからと言って汚いコードを書くことが許される訳ではない」ということで、レビューによって初心者が書いたコードの品質を上げる努力を組織として継続している場合には、本人の勉強不足はレビューによる指摘によって補われ、コードには現れないかもしれません。しかし、レビューをきちんとしない組織では、本人のレベルと学習不足ははっきりとコードに現れます。
つまり、ソフトウェア開発組織の成果物であるソースコードを見ていけば、その組織を構成するエンジニアのレベルがある程度分かってしまうということです。しかし、幸か不幸か、通常の企業活動におけるソフトウェア開発ではソースコードが外部へ公開されることはありませんので、外部からその開発組織に属するエンジニアのレベルを知ることはできません。
しかし、その開発組織のトップやリーダはソースコードを見ることができる訳ですから、ソースコードを見て自分の組織に属しているメンバーのレベルを知ることはできます。あるいは、業務委託先から納品されたソースコードを見れば、その業務委託先のレベルは分かったりします。ただし、見て判断できるレベルの人が見ればですが。
ソフトウェアエンジニア個人としては、自分が書くソースコードは、自分のスキルレベルを写し出すものだと認識することが重要です。
2011-12-14 08:23
nice!(0)
コメント(2)
トラックバック(0)
こういうのは手動でやってる内は結局浸透しきらないので、
コードレビューツールorサービス的なものがあるといいと思うんですよね〜。
構造設計やソース分析して、評価ポイント出してくれるような奴。
もしくは、プロコードレビュアー?みたいな人(or AI)が添削してくれるとかとか。
要は本人が恥ずかしいコード書いてる事を自覚できる何かしらが無いと結局は改善むずかしいと思うんです。。。
by みちばな (2012-12-07 13:40)
ツールで評価するというのは無理かと思います。コードの複雑度などはツールで評価できますが、人にとって理解しやすいコードが書かれているかという視点は、やはり人が評価するしかないと思います。
by Yoshiki (2012-12-14 04:04)