どうにもいらつく(やりなおし)
ソースコード部分見やすくするためにはてな記法を使うことにした。
お仕事で見ているコード。言語はC#
class Person { public string Address { get; set; } public string Name { get; set; } public int Age { get; set; } public string Profession { get; set; } public string GetCSV() { const string comma = ","; string result; result = Address + comma; result += Name + comma; result += Age.ToString() + comma; result += Profession; return result; } }
GetCSV()は自分自身の内容をCSV形式で吐き出すメソッド。
もちろんちゃんと動く。動くのだが読んでいてイラつく。
①最初の項目(Address)とそれ以外の項目でresultへの代入が違う(=,+=)
②最後の項目(Profession)とそれ以外の項目で末尾のcommaの有無が違う
③commaの登場回数が多い。constにしてるだけマシだが。
最初に書いた人、なんでこんなコードにしたんだろう?
<追記したんご>
↑のコードはVB6で書かれていたのをC#に移植したものらしいのだが、VB6のコードを確認したところ、
①各項目をCollectionにAdd
②Collectionを配列に変換
③Join()で連結
というまっとうな方法になっていた。
なんで後発言語のC#のほうがへんなコードになったんだろう?
<さらに追記>
こんなこと気にしててはいけないのだろうか。だめなのだろうか?だめといわれても治らないでしょうが。