にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

開発時に「うわぁ…」となる他人のコード(というかそれ以前の話)

会社でソフトウェアを開発するとき、大半の場合、一人ではなく複数人(場合によっては大人数)で開発することになります。自分が一からコードを書くのならともかく、他の人が書いたコードを修正しなくてはならない場合ももちろんあります。
私はまだへっぽこプログラマ(といっていいのかな、コード書いてるし)なので、プログラミングスキルのことをどうこう言えるほどのものではないのですが、「それはプログラミング以前にどうなんだろうか…」と思うことが多々あります。そんなケースを集めてみました。

フラグ用変数or関数でis+動詞

大体isなんとかっていうのは状態をチェックする関数名などに使う場合が多いかと思いますが、isWaitとかisConnectとかは何とも言えない感じ。中学レベルの英語を学習してたらisWaitingみたいに英語として違和感のない変数をつけるはず。

registHogeな関数名

何かを登録する関数らしいですが、registerが「動詞+er」な名詞っぽい綴りだからか、registを最初につけている場合をよく目撃します。残念、registなんて単語は存在せず、registerで動詞なのでした。調べなかったのかなぁ。というか、そんな小難しいことしてないんだからおとなしくsetとget使えと。

文字コード・改行コードがばらばら

開発の途中から参加すると、「この開発ではソースコードEUC-JP/LFで統一してるよ」と最初に伝えられたりするのですが、いざコードを見てみるとそんなのお構いなしだったりする。恐らくWindowsのエディタで書いたと思われるCRLFだらけのコードに、追加修正でLFのコードが混じっていたり。Emacsで開いたときに「^M」が行末にいっぱいついてるコードなんて見たくない!
あと、一番ひどいなと思ったのは、ファイルの最初に

<?xml version="1.0" encoding="utf-8" ?>

とか入れときながらコメントがShift_JISだったXMLを見たとき。
あ、も一つひどかったのは、EUC-JPで統一してるはずなのにデバッグログでUTF-8を吐き出すコード。シリアル繋いでTeraTermでログを出してるといきなりすべて文字化けしたり印刷ダイアログが開いたりしてワロタ。(笑えない)

イラっとくるコメント

//あとで整理する
#include <stdio.h>
/* 以下大量のinclude文 */

このまま1年近く放置。さっさとやれ!

まとめ

というわけで、イラチなプログラマには耐えられない(細かすぎて伝わらない、かも)ソースコード例でした。
え?「そんなところにばっかり気をとられてないで自分のスキル上げろ」って?耳が痛いです。
日々精進しております。おわり。