ちょっとした愚痴というか疑問というか

Posted at 07/01/29 Comment(4)» Trackback(0)»

プログラマさんに特化した内容なので、プログラマじゃない人はスルー推奨。
読んでもいいけど、たぶん意味分からんと思うよw

ようやくこれの影響が薄れてきた・・・
恐るべき破壊力だったよ・・・orz

逆にプログラマさんには意見を聞いてみたいところ。
議論され尽くしている内容もあるでしょうけど・・・


今、プログラムの修正作業をしてるんですが・・・
いろいろと修正が繰り返されてきたモノらしく、手が加わりまくっています。
その過程でいろいろあったのか、最初からそうだったのかは分かりませんが、個人的にはそれはどうよって思うことがたくさん。

といってもそんなに大きなことじゃないんですけどね。

1.インデントがバラバラ
2.マジックナンバー
3.修正履歴のコメント

ま、今更言うなよそんなこと。って内容ですかね?w

問題にならない程度に現状解説。

1.インデントがバラバラ

ま、バラバラってほどひどくはないんですが、一部混乱させられるようなインデントがありました。

try {
   try {
      // 処理1
   }catch(Exception e1) {
   try {
      // 終了処理
   } catch(Exception e2) {
      // エラー処理
   }
}

// 処理2

って感じのがありました。
どこの例外処理がどこで終わってるのか分からんww

ちゃんと書くなら、

try {
   try {
      // 処理1
   }catch(Exception e1) {
      try {
         // 終了処理
      } catch(Exception e2) {
         // エラー処理
      }
   }

   // 処理2

ですよね。
「処理2」はまだ大きなtryに囲まれている部分なわけで。

こういうのって作っているときは気にならないものなんでしょうか?
個人的には、インデントちゃんとしないと気持ち悪くてしょうがないんですが。

あとインデント関係だと、妙な桁数でインデントしてる人がいたりすると困ります。
昔、半角スペース3文字でインデントしてる人がいました。
中途半端すぎやしないですかね?w

あ、あと、昔書いたことがありますけど、HTMLのインデント
これってある程度決まったインデント方法ってあるんですかね?
いつも結構疑問なんですけどw


2.マジックナンバー

今回あったのは、エラーコードだったのでまだマシかもしれません。
でも、

errCode = "0001";

って書かれるより、
errCode = INIT_ERROR;

って書いてくれたほうが分かりやすいんですけど。
まぁ、エラーコードの一覧(プロパティファイル)見ればすぐ分かりますし、べたで書いたほうが楽ってのも分からんではないんですが・・・
みんな時間がないとやっちゃうほうなのかな??

3.修正履歴のコメント

これ、前から気になっていることで・・・

修正した箇所に、

/* 2006/12/01 追加 開始 */
〜〜
〜〜
/* 2006/12/01 追加 終了 */

みたいな風に書いてあるんですよね。

まぁ、1回2回くらいまでならなんとかなります。
でもこれが5〜6回続くともうわけが分からんのですよ。
修正してきた履歴が追えるように残してあるのかもしれませんが、逆にまったく分かりません。

そこまで手が加わってしまうと、1箇所元に戻したとしても他の箇所(その修正に関係ある箇所)とかで不具合が出てきたりするんで、もう元に戻すことはないにも関わらず、延々とコメントとして残ってるんですよね。
んで、そういうのに限ってちゃんとCVSなりSVNなりでバージョン管理してるんですよ。
なら結局CVSなりSVNなりで元に戻すほうが早いんちゃうんかとw
修正部分はコメントを追うよりもDIFF取ったほうが確実だと思うんですけど。

でもいまだに修正履歴をコメントで残しているプロジェクトが多数あるってのは何か俺の気づいていない重要な意味があるんだろうか?
著しくソースの可読性が落ちるんで、個人的にはやめてもらいたいんですけど。

意見求む。
(って言っても、ここ見てるプログラマさんは少なそうだなぁ・・・w)


"ちょっとした愚痴というか疑問というか"へのトラックバック

トラックバック先URL

"ちょっとした愚痴というか疑問というか"へのコメント

投稿者:でにしっくす    (07/01/29)

>少なそうだなぁ
とのことなので (^^;) ちょっちレスします。

処理2 が try の中だと気付くのに数十秒を要しました。もう、Pythonからやり直せと小一時間… (ぉ

でも、修正コメントは書きますね…。流石に5重とかにはならないですけど…。
「ここがバグったら私の責任です」という意味で。バージョン管理ソフトを使いこなせてたら必要ないんですけどね。(^^;

投稿者:人形師    (07/01/29)

>でにしっくすさん
まさかコメントが付くとはw

>>Pythonからやり直せと小一時間… (ぉ
ほんとですよ。
インデントの必要性をちゃんと認識しろとw
でも作った人、Pythonなんて知らなさそうだなぁ・・・
もうすでに会社にいないみたいですけどw

修正コメントも、結局バージョン管理ソフトがちゃんと使えていないだけな気がします。
「みんなで最新のソースを共有する」という目的にしか使えてないんですよね。
全員同じアカウントでログインしてたり、コメントに何も書かずにコミットしてたりw
その辺が原因かもなぁ〜と思ってみたり。

しかし新人さんがそーやってソースを書くものなんだと覚えてしまうのはなんだか心苦しい気がしていたり・・・

投稿者:ひなさん    (07/01/30)

たまには初コメントを。

1.2.は問題外。
ひなさんなら「こんなもん不具合じゃぼけー!」と言ってでこぴんです。

3.は残すかな。
履歴というよりも目的、意味・意図を残すためにつけます。
/* 2006/12/01 追加 開始 親会社からのわがまま対応 */ みたいな。
ウチは1つのソースを元にしていろんな会社に納入してたりするので、
上みたいのがついてたら、親会社以外に納入するときはイラネ、みたいな。
もちろん別帳票とかでも管理してるけど〜

てか、まじめに答えてしまった・・・。反省。。。

投稿者:人形師    (07/01/30)

>ひなさん
まさかコメントが付くとは思わなかったよ・・・
というか、なにそのまじめに答えちゃいけない的なのはw

3のやつも、親会社からのわがまま対応用ってブランチ切っておくとか、タグ付けしておくとかしておけば、バージョン管理ソフトでなんとかならんかね?
まぁ、そういう運用ができてないからこそのコメントなんかな〜

"ちょっとした愚痴というか疑問というか"へコメントを投稿

上の情報を保存する場合はチェック

管理人

月別アーカイブ

Powered by Movable Type

Template by MTテンプレートDB

Supported by Movable Type入門