疲れちった♪
ソースレビューとかしてたら疲れた(´Д`)
お利口さんになるために良書をたくさん読むのとは逆で、あまり質の高くないソースばかり見ていると、自分がお馬鹿さんになっちゃうんじゃないかと不安になったりして(´・ω・`)
で、前にもちょっと書いていますが、経験の浅い人がやりがちなことについて、気がついたことを追記しておきます。
- なんでもキャストで解決
型があわないところを、とりあえずキャストでコンパイルできるようにしてしまう。
なぜ2つの項目の間で型が違う*1のかとか、なぜその型で宣言してあるのかの検証を行わずに、とにかくコンパイルが通るようなコードを記述していたり…。
他にもなんでもToString()っていうのもあるんですが…(´Д`;)
int型の変数をint型の変数にキャストしていたり、string型の変数のToString()を呼び出してstring型の変数に代入していたりとか、惰性でなにも考えていないのが丸わかりな処理を見つけたりして萎え。
上のケースは一応問題なく動くからまだ良い*2んですが、doubleとfloatを変換しているところには問題があって。
浮動小数点ってどういうものか理解していないと、計算誤差が問題になることがあるわけで(´Д`)
単純なテストしか行っておらず、この問題を認識していないところが困りもの。
- 値渡し、参照渡し(ref、out)の違い
必要の無いところにrefが付いていたりとかね、そんなのばかり見ていたら本当に疲れちった(´・ω・`)
これも、動かないわけではないケースですが…。
値型と参照型の違いとか、値渡し、参照渡し(ref、out)の違いを正しく理解していないケースがあったり。
っというか、これは設計者もわかってないな…なんてケースも。
メモリのイメージがね、できてないんだろ〜な〜っと(´ω`)
スタックとヒープと言っても通じないしね(´Д`)
VBしか触ったことが無い人や最近の若い人*3って、ポインタの概念を知らない人もいるしね。
GCがどうのという以前に、ソフトウエア工学の基礎は知っていないとなぁ…。
で、そんなソースのレビューみたいな事ばかりをしているので、自分はなんてレベルの低い仕事をしているんだろうっと、将来が不安になって((((;゜Д゜)))ガクガクブルブルなのです。