5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

コーディングルールの怪しい伝説

1 :デフォルトの名無しさん:2009/08/08(土) 01:31:52
自転車置場にようこそ。

巷で流布しているコーディングルールに関するうわさを検証するスレ。

よくあるやつだと、Cライクな言語のif文で、一行でも波括弧を省略するなって話がある。
↓こういうやつ。
×
if (n == 0)
n = 100;


if (n == 0) {
n = 100;
}

ぱっと思いついた有名プロダクツのソースをかいつまんで見てみたら、
括弧省略なしで統一されているのってeclipseくらいだけだった。
机上の空論ではなくて、実践的にコードを書いてる人は、こんな
ルールでバグが減ったり保守性があがることはないって知ってるんだよね。

×
linux, git, postgresql, subversion, firefox, python
apache, vim, ruby, gimp, OpenOffice, jdkのライブラリのソース


eclipse


2 :デフォルトの名無しさん:2009/08/08(土) 01:39:13
マクロの使い方によっては中括弧がないと意図しない動作になったりする。

3 :デフォルトの名無しさん:2009/08/08(土) 01:41:48
まあ、それはマクロの問題だよね。

4 :デフォルトの名無しさん:2009/08/08(土) 01:51:04
このルールは加筆されうるコードに関して意味をなすから、
加筆されるわけがないコードなら意味が無い。

業務レベルだとその判断も出来ない奴が多いから必要だと思うね。

5 :デフォルトの名無しさん:2009/08/08(土) 01:57:30
× 実践的にコードを書いてる人
○ 「とりあえず動けばおk」で書いてる人

6 :デフォルトの名無しさん:2009/08/08(土) 02:02:41
1文字変数を使うなってのもあるな。
使っていいのはループカウンタのi,j,kだけとか。

バリバリ書いて実績を上げてる人は、ふつーに一文字変数使ってる。


7 :デフォルトの名無しさん:2009/08/08(土) 02:05:08
>>5
>>1 の人たちは「お前らヘタクソだからカッコ省略するなよ」って言われるような
ひとより1000倍くらいしっかり書いてるよ。
(ヘタクソが省略しないから、なにがどうなるとは思えないけど)

8 :デフォルトの名無しさん:2009/08/08(土) 02:05:42
>>6
俺も原則使わないよう指導するな。
バリバリ書いて実績を上げてる人=一文字変数使ってる人ではない。

9 :デフォルトの名無しさん:2009/08/08(土) 02:07:42
>>8
バリバリ系の人は、1文字変数をつかってもコードの質は落ちないって
知ってるから、使うんだと思うよ。

10 :デフォルトの名無しさん:2009/08/08(土) 02:10:00
javaのソースで、比較で定数を左にもってくるってを実践してるやついるな。
これは意味わかってやってるのか。
bool変数以外はミスって代入になっても、エラーになるだろ。

11 :デフォルトの名無しさん:2009/08/08(土) 02:13:41
意味分かってないってか、Javaの言語仕様を理解してない奴に多いな。
そしてそういう奴に限ってマネージド言語はおかしいとかわめき出す。

12 :デフォルトの名無しさん:2009/08/08(土) 02:16:05
>>9
3ヶ月立ったら自分のコードも他人のコードって奴だ。
変数の寿命が短く、一目で目的が分かる場合でもなければ”質は落ちる”

13 :デフォルトの名無しさん:2009/08/08(土) 02:22:17
>>12
質が落ちるような使いかたしなければいいじゃん。

14 :デフォルトの名無しさん:2009/08/08(土) 02:28:03
こういう話で、バリバリ書いてる人のコードを引き合いにだすと、
「いや、ヘタクソには有効なスタイルなんだ」って話になりがちだけど、
いいコードにうまい人むけも、ヘタクソ向けもないよ。
うまい人は、だいたい素直なコード。

ヘタほど、定数を左にもってくるとか、ループカウンタにiを避けて、nLoopとか使っちゃうとか
技巧に走ってかえって失敗してる印象。

15 :デフォルトの名無しさん:2009/08/08(土) 02:31:17
>>14
そんなヘタクソにルール無しで書かせたら、もっと酷いことになるよ

16 :デフォルトの名無しさん:2009/08/08(土) 02:36:39
サブルーチンの行数も怪しい伝説だな。
短ければ短いほどいいとか。

このまえも、某有名人のブログをみてたら、一画面に収まるようにしろって書いてあったし。
それも昔の端末の画面サイズで2,30行以下にしろとか。

コードコンプリートにサブルーチンの行数とバグの数のIBMの調査が載ってるけど、
200行以下のサブルーチンの場合は、行数がすくないほど、一行あたりのバグの数が
増えるって結果だった。
100行のサブルーチンひとつより、10行のサブルーチン10個のほうがバグが多いって結果。

17 :デフォルトの名無しさん:2009/08/08(土) 02:39:44
>>15
だめなルールを守らせても、ヘタクソの質は変わらなくて、そうでない人がやりにくくなるだけ。

18 :デフォルトの名無しさん:2009/08/08(土) 02:51:24
>>17
そんな人材教育に失敗してる環境の理論はいらない。

19 :デフォルトの名無しさん:2009/08/08(土) 02:53:49
>>16
C言語はOOP言語に比べて関数の粒度が大きい方がいいと思う。
C言語でOOをやると可読性(IDE込み)の限界で、大雑把にしないと保守しにくい場面があるし。

20 :デフォルトの名無しさん:2009/08/08(土) 02:58:05
いま、javaで、文字列の連結はStringBuffer()を使えってコーディングルールで書かされてる。
+で連結は禁止。
無意味だし、面倒だし、読みにくい。

そのルール作ったやつのコードを見てみたら、
if (s.substring(i, i+1).equals(",")) みたいのをループでまわして、文字列を最初から最後まで舐めてるのな。
仮に + 連結の最適化がなくても、これのムダ具合に比べたらかわいいもんだろ。


21 :デフォルトの名無しさん:2009/08/08(土) 02:58:33
そんなに変で生産性を下げるルールならコーディングに入る前に話し合って変えればいいんじゃないの?


22 :デフォルトの名無しさん:2009/08/08(土) 03:01:36
>>18
だから、書き方に、うまい人向けやヘタクソ向けはないって言ってるじゃん。

それを言うならヘタクソを想定してるルールがある時点で、すでに失敗してるだろ。

23 :デフォルトの名無しさん:2009/08/08(土) 03:03:09
>>20
1.4.2から5.0に移った際の互換性問題に過剰反応してるんだろうな。

24 :デフォルトの名無しさん:2009/08/08(土) 03:06:54
>>14
OOの理屈が理解で来てれば、iとnLoopに違いは無いと分かるんだろうけどな。
コーディングとソフトウェアデザインのスキルは別物と理解させるのはシンドイ orz

25 :デフォルトの名無しさん:2009/08/08(土) 03:15:30
C で、文字列を走査する処理で、文字列の長さをsizeof でとっていて、
文字列の終わりを越えて、ごみが入ってるところまで見にいってるって
古いコードがあって「これ、ダメですよね、ついでに修正します? 」みたいな
話をしてたら、相手がポロリと「うわ、ダセ、クリアもしてないよな?」と。

いや、文字列を入れる配列は全部memset()でクリアって流儀のコードは
幾度となく見てるけど、それはそれでダメ臭が。

26 :デフォルトの名無しさん:2009/08/08(土) 03:23:09
つか、指がもう自然に括弧付きで書くようになってる。
いちいち「この場合は括弧無しでもおkだから括弧省略」とか考えるの面倒くさいし。

27 :デフォルトの名無しさん:2009/08/08(土) 03:28:04
>>9
自分がノリノリで書いてる時はいいんだよ。
ただ、他人がそのコード見たときに「なに、この変数名?」って思って
ごっそり書き換えられるのがオチだけどな。

28 :デフォルトの名無しさん:2009/08/08(土) 03:29:08
C++やjavaのように変数を関数の途中で宣言できる言語でも、
Cのように、関数の先頭で全部宣言するのがいいスタイルって
信じてる人も少なからずいる。

あと、これとあわせ技で、とりあえず宣言時に0とかnullで初期化
しとくとか。
これをやると、本当の初期化を忘れたときに、コンパイラの警告が
でなくなる。

29 :デフォルトの名無しさん:2009/08/08(土) 03:33:48
>>27
一文字変数のほうがすっきりするところは一文字変数で。
一文字だとわからないところは、ちゃんとした名前で。
このくらいの書き分けはノリノリの状態でもできるでしょ。

というか、コードを改悪されちゃうのを見越して、最初からそれに合わせて書くってこと?

30 :デフォルトの名無しさん:2009/08/08(土) 03:40:46
>28
初期化忘れはアプリの動作がちょっと変になる程度で済むが、
ぬるぽは不正終了に直結し易い。

開発時には後者の方が嬉しいが(問題が発覚し易いから)、
リリース後は前者の方が無難。

31 :デフォルトの名無しさん:2009/08/08(土) 03:43:44
>>29
ノリノリのときは、頭がクリアだからaから順番に変数名にしてるようなコードでも
すらすらと書けちゃうんだよ。
ただ、そんなコードは後から修正されちゃうけどね。

32 :デフォルトの名無しさん:2009/08/08(土) 03:51:33
プログラマーはコーディングは好きだがドキュメント作りは嫌いである。
∴ ソフトウェアデザインは浸透しない

33 :デフォルトの名無しさん:2009/08/08(土) 03:53:16
コーディングスタイルの話で、そんな書き方ないだろって人でも、
「自分は何十人もの部隊を率いてこのコーディングルールでやってきて実績をあげてる」とか
言って、正しいと主張したりするわけですよ。

どういう仕事か明かしてくれたらまた話は別だけど、匿名でそんなこと言われても、
どういう実績をあげてるか確認しようがないわけですよ。
(さらに言えば実績といってもCOBOLのスタイルをそのままJavaに持ち込んで仕事を
してるような人でも、実績があると自負してたりするだろうけど、それは置いといて)

で、誰もが認める実績と、確認できるコーディングスタイルを元に、有効なそれを
語ろうと思って、>>1 のような例をあげているわけだけど、その例をどう考えるか触れないで
「波カッコ省略はよくない」ってただ言い返してもしょうがないと思うわけですよ。
実際、波カッコ省略で、そこらへんのPGよりいい仕事をしてるわけだから。

「それは、スキルが高いから、そういう書き方でもいいんだ」とか、
「そのサンプルは偏ってるだろ」とか、
「実はそれらは品質低いよ」とか、
「業務とかとはポリシーが違うね」とか、
なんでもいいんで、ただ言い返すだけじゃなくてそこらへんのポイントに反論ないと、
議論が深まらないんじゃないの?

34 :デフォルトの名無しさん:2009/08/08(土) 03:56:48
>>31
修正されずに残ってるよ。 >>1 の例とか。

35 :デフォルトの名無しさん:2009/08/08(土) 05:27:22
これはイタズラ者の>>1にまんまと釣られたんじゃないかな

36 :デフォルトの名無しさん:2009/08/08(土) 08:54:24
>>1
これ見る度にTest-RTの不具合思い出すわ

37 :デフォルトの名無しさん:2009/08/08(土) 09:58:44
>>1
それはな、
「子供のうちは省略するな、大人になったら省略しても良い」
ってことだよ。

38 :デフォルトの名無しさん:2009/08/08(土) 10:33:03
守破離ってやつだな。

39 :デフォルトの名無しさん:2009/08/08(土) 10:40:26
要するに>>39みたいな馬鹿に合わせるって事だな

40 :デフォルトの名無しさん:2009/08/08(土) 10:42:17
自己紹介乙。

41 :デフォルトの名無しさん:2009/08/08(土) 10:45:44
>>39が名言を吐いたと聞いて

42 :デフォルトの名無しさん:2009/08/08(土) 11:44:36
>>39がいいこと言った!

43 :デフォルトの名無しさん:2009/08/08(土) 11:54:34
未だにシステムハンガリアン押し付けてくるところがあるんだが…


44 :デフォルトの名無しさん:2009/08/08(土) 12:00:46
それがC言語なら必要じゃないの?
void*みたいなダウンキャストがあると特に。

45 :デフォルトの名無しさん:2009/08/08(土) 12:13:44
Linuxのカーネルも *BSDのカーネルも OpenSolaris のカーネルも………
システムハンガリアン等と言う役に立たないものは使っていない


46 :デフォルトの名無しさん:2009/08/08(土) 12:25:44
ああ、>>44みたいなときに使うプレフィクスはアプリケーションハンガリアンって言うのね。
システムハンガリアンだけ悪ってのなら、俺も賛成する。

47 :デフォルトの名無しさん:2009/08/08(土) 12:31:03
void*にダウンキャストするからって、プレフィックスとかいるか?

48 :デフォルトの名無しさん:2009/08/08(土) 12:48:33
型が決まらないからvoid*なんだろ

49 :デフォルトの名無しさん:2009/08/08(土) 13:23:45
どんなポインタでも受け付けるからvoid*型と考えるのが普通。

50 :デフォルトの名無しさん:2009/08/08(土) 17:02:41
MFCはシステムハンガリアンが標準ですよ?^^

51 :デフォルトの名無しさん:2009/08/08(土) 17:07:44
そらMSはハンガリアンの総本山だからな。
そのMSでさえ、ハンガリアンを捨て始めてるし。

52 :デフォルトの名無しさん:2009/08/08(土) 17:11:21
ハンガリアンも根強いな。
でも、俺のような底辺ITドカタの周囲でもハンガリアンはやめようって流れになってる。

53 :デフォルトの名無しさん:2009/08/08(土) 18:00:22
ハンガリアンという6文字だけの言葉を使う人からは離れたほうがよい
その人はアプリケーションハンガリアンとシステムハンガリアンの違いを考えたことがない人だからだ
これの違いを考えたことがないということは、つまりアプリケーションハンガリアンの意義を知らないということだからだ

どっちも書くときに死ぬほどめんどくさいというのは間違いないことだが、
アプリケーションハンガリアンにはめんどくさいことをしてでも書くだけの一定の価値がある

54 :デフォルトの名無しさん:2009/08/08(土) 18:15:27
アプリケーションハンガリアン記法の唯一無二にして絶対の弱点は
「日本人には適切なプレフィクスを作れない」
だと思う今日このごろ
結局長くなって「慎重な変数名・メソッド名」の域を出ないシロモノに

55 :デフォルトの名無しさん:2009/08/08(土) 18:16:52
double<Dim = Length, Range = (-10, 100)> x
こう書けたらいいの?

56 :デフォルトの名無しさん:2009/08/08(土) 18:20:34
断りなくハンガリアンって言ったらシステムハンガリアンでいいだろ。
アプリケーションなんとかって言ってるやつは、最近知って揚げ足をとりたくてしかたないやつ。
昔の「HPってなに?」とか煽って喜んでた連中と同じ。

57 :デフォルトの名無しさん:2009/08/08(土) 18:29:03
WinのC/C++で、ネットとかで初心者に文字列は_T()で囲むようにとか
えらそうにアドバイスしてるやつうぜえ。
そんな無意味なもん使わせるな。

58 :デフォルトの名無しさん:2009/08/08(土) 18:29:13
とまあかようにプログラマとそうでない人が別れるのが夏
実際に議論をしたことがあるなら丸わかりなことを脳内で収めるから

59 :デフォルトの名無しさん:2009/08/08(土) 18:39:59
>>53
アプリケーションハンガリアンって「適切な変数名を付けましょう」って以上のことを
言ってないからなぁ。あれに感心する奴は、いままでどんなコード書いてきたんだと。
さらに言えば、プレフィックス(ハンガリアン記法)を強制する必要性も薄いよね。
Wikipediaの例で言えば、
dolIncomeじゃなくて
incomeInDolでいいわけだし。

60 :デフォルトの名無しさん:2009/08/08(土) 20:32:18
>>59
接辞語を前につけるかあとにつけるかなんて、根本に何ら影響しないことだろ。



61 :デフォルトの名無しさん:2009/08/09(日) 00:39:10
>60
コード補完使ってる場合は、前に付いてた方が有難い。
grepの時も前に付いてる方が便利な気がする。

62 :デフォルトの名無しさん:2009/08/09(日) 11:55:26
//**********************************************
// 見出し1
//**********************************************

  //==========================
  // 見出し2
  //==========================

    //-----------------
    // 見出し3
    //-----------------

63 :デフォルトの名無しさん:2009/08/09(日) 12:21:37
元のコードはコメントアウトして、絶対に削除するなが、なんだかんだと一番強烈。

64 :デフォルトの名無しさん:2009/08/09(日) 14:45:45
カッコ省略をカッコ省略なしにするプログラムを作ればいいじゃん

65 :デフォルトの名無しさん:2009/08/09(日) 14:52:37
既にあるんだから、わざわざ作る必要なし。

66 :デフォルトの名無しさん:2009/08/10(月) 19:57:21
組み込み向けだが、検証ネタに。

バグを生まないコーディング法、10個の規則でソフト開発を効率化
http://eetimes.jp/article/23004/
続・バグを生まないコーディング法
http://eetimes.jp/content/3107

67 :デフォルトの名無しさん:2009/08/10(月) 23:15:19
>>6
n て変数使っていてレビューで書き直しを命じられたから、numってしたらOKだった。
どういう意味があるんだってオモタよ。

68 :デフォルトの名無しさん:2009/08/11(火) 01:11:45
grepで探し辛いだろ。
そのコードが色んな香具師の手でカオス化していき、
再設計しようって段階になった時、影響範囲を調べるのに
nとnumとじゃできる事の幅が違うぞ。
numならnum、number、etcを一気に洗い出せるが、nではそうもいかない。

…まぁ考え過ぎだ罠。

69 :デフォルトの名無しさん:2009/08/11(火) 01:12:49
>>67
なにか基準があっただけなんだから気にスンナ。

70 :デフォルトの名無しさん:2009/08/11(火) 01:35:08
>>68
num, numberという変数の影響範囲をgrepで探さないといけないようなコードは、
別のコーディングルールを適応した方がいいと思う。

71 :デフォルトの名無しさん:2009/08/11(火) 07:19:51
>>68
グローバル変数やクラスのメンバ変数のような
スコープの広い変数ならきちんとした名前をつけるべきだが
スコープ狭いローカル変数なら、たいして問題にならない。

1000行くらいある関数なら別だけどw

72 :デフォルトの名無しさん:2009/08/11(火) 13:38:32
C++ならマクロもあるし納得
Javaでgrepしてるのは納得できない

73 :デフォルトの名無しさん:2009/08/19(水) 21:57:00
いまどきのIDEならgrepなんかより高度な検索機能で
変数全部洗い出してくれるよ。

74 :デフォルトの名無しさん:2009/08/19(水) 22:07:31
変数使ってる所洗い出したかったら、その変数定義をコメントアウトしてみるのが一番早い。

75 :デフォルトの名無しさん:2009/08/19(水) 22:20:49
2009年にjavaでgrep使う奴いる事に驚愕した

76 :デフォルトの名無しさん:2009/08/19(水) 22:38:29
>>75
俺のとなりではJavaをメモ帳で書いてるぞ


77 :デフォルトの名無しさん:2009/08/19(水) 22:45:33
>>75
いちいち検索窓開くよりそっちの方が早いもん。
IDEだとIDE管理外のソースは検索してくれないし。

78 :デフォルトの名無しさん:2009/08/19(水) 22:54:31
int a = 0;

if( a != 0 );
a+=1;//aが0でなければaに1を加算


if( a == 0 )
{
return true;
}
else
{
return false;//なぜかここが実行される
}

79 :デフォルトの名無しさん:2009/08/19(水) 23:10:29
プログラムは正しいですよ。

80 :デフォルトの名無しさん:2009/08/19(水) 23:52:26
;

81 :デフォルトの名無しさん:2009/08/20(木) 00:52:18
いや、そういう問題じゃないだろ。

82 :デフォルトの名無しさん:2009/08/20(木) 00:56:01
プログラムが正しければ、コメントが間違っているしかないじゃないか
何が問題なんだ?

83 :デフォルトの名無しさん:2009/08/20(木) 01:04:17
後半は

if( a == 0 )
return true;
else
return false;//なぜかここが実行される

にするべきだな。

84 :デフォルトの名無しさん:2009/08/20(木) 04:35:14
int a = 0;

if( a != 0 );
a+=1;//aが0でなければaに1を加算


if( a == 0 );
{
return true;
}
else
{
return false;//なぜかここが実行される
}

こうすればコメント通りの結果になると思う

85 :デフォルトの名無しさん:2009/08/20(木) 05:19:11
どんなコーディングルールだよw

86 :デフォルトの名無しさん:2009/08/20(木) 05:32:38
>84
これはひどい、もう一度その言語の規格書読み直した方がいい
ああ、俺様言語か、ごめん

87 :デフォルトの名無しさん:2009/08/20(木) 06:01:52
すまん、これはさすがに通らんわ

88 :デフォルトの名無しさん:2009/08/20(木) 10:55:18
int a = 1;

if( a != 1 );
a=0;//aが1でなければaに0を代入


if( a = 1 )
{
return true; //期待通りここが実行される
}
else
{
return false;
}

これなら、ちゃんと動く。

89 :デフォルトの名無しさん:2009/08/20(木) 23:07:07
int a = 0;

if( a != 1 );
a=0;//aが1でなければaに0を代入


if( a = 1 )
{
return true; //期待通りここが実行される
}
else
{
return false;
}

にするべきだな。

90 :デフォルトの名無しさん:2009/08/20(木) 23:08:13
return true; // 期待通りにここが実行される

91 :デフォルトの名無しさん:2009/08/21(金) 11:00:19
最初のif文の最後のセミコロンが不要なんだろうと思ったが
お前らを見てると自分が間違えてるような気がしてくる

92 :デフォルトの名無しさん:2009/08/21(金) 15:56:11
簡単すぎてネタにならんだろ!

93 :デフォルトの名無しさん:2009/08/21(金) 21:14:12
1の責任だとは思うが、どういう方向の話題をしたいのかがよく分からん。

94 :デフォルトの名無しさん:2009/08/24(月) 08:30:34
//================================================
// 用途: ○○を××する
// return : true=>成功、false=>失敗
// <in>  int nHoge => うんたらの値
// <in> char *szFuga => かんたらの文字列
// <in, out> void *pData => 追加データへのポインタ
//================================================

↑前に居た会社で関数にこういうコメント付ける規則があったんだけど、
const付ける習慣が無かった。constを徹底してればinとかoutとか書く
必要無いと思うんだけど・・・経験浅いから自信ない(´・ω・`)

95 :デフォルトの名無しさん:2009/08/24(月) 08:36:49
こういうのは型で保証できればいいんだけどね…

96 :デフォルトの名無しさん:2009/08/24(月) 08:51:09
>>94
その認識で合ってるよ。

97 :デフォルトの名無しさん:2009/08/24(月) 09:03:50
>>94
自動ドキュメント作成ツールでも使っているんじゃないの
typedef T *S; const S s;とconst T *t;は意味が違うんだよなぁ

私はdoxygenスタイルでいつも書いている

98 :デフォルトの名無しさん:2009/08/24(月) 23:21:00
>>94
コメントに罫線っていうか飾りをつけると一気に素人くさいコードに
なっちゃうけど、大好きな人っていっぱいいるよね。

C#で仕事したとき、そういうコーディングルールを決められそうになったから、
C#は標準のコメントの書き方ありますよって言って、それなら、それを採用
しようってことになったんで、なんとか回避できたと思ってたら、できあがった
コーディングルールをみたら↓みたいな感じになってた。

/// <summary>
/// ***********************************************************
/// 値を加算する
/// ***********************************************************
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public int Plus(int val)


99 :デフォルトの名無しさん:2009/08/25(火) 01:28:22
おまけに、ドキュメントはExcelとかw

100 :デフォルトの名無しさん:2009/08/25(火) 09:36:25
>>98
エディタの機能を使いこなせないかそもそもまともなエディタを使ってないかのどちらかの理由で、
スクロールさせて関数を見つける習慣が身についてしまうらしい。
そういった連中にとっては、飾りがあることが関数を見つけるために重要なのだろう。
# だとしても、/を一行並べておけばいいだけだと思うけれどね。
# //////////////////////////////////////////
# こんな風にwwwwwwwwwwwwwwwwwwwwwwww

101 :デフォルトの名無しさん:2009/08/25(火) 09:40:49
>>100
> スクロールさせて関数を見つける習慣が身についてしまうらしい。

そういうことだったのか。ようやく理屈がわかってすっきりした。ありがとう。

・・・いや、すっきりはしないな。理屈がわかって、よかった、と。

102 :デフォルトの名無しさん:2009/08/25(火) 11:30:50
DOS時代
MIFESとかスクロールスピード命みたいな宣伝文句があったもんなぁ…


103 :デフォルトの名無しさん:2009/08/25(火) 11:43:51
しかしあれ、邪魔なんで畳んでおくと
/// <summary>
しか見えないんだよね。まあデバッグには関係ないんだが。

104 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 12:55:35
昔はエディタも低機能でカラー表示、強調表示もなかったし
ディスプレイの解像度も低かったから、
コードを追おうとしたら紙に出すのが手っ取り早かったのだ。
そんなときに関数単位で区切りがわかる線コメントは便利だったんよ。

その時代の名残といえばそうだ。IDEの進化した今やる意味はないと思う。

105 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:58:00
 信徒のいない教祖は狂人と呼ばれる

106 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:25:30
会社のカスマシンや頼りないIDEだと、IDEなぞ使ってられんので
線コメントが便利に感じてくる。マヂで。

107 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:39:19
カス会社はカスマシンですね、わかります

108 :デフォルトの名無しさん:2009/08/30(日) 20:21:20
>107
そういう事です。
つまり2chで下手にぼやいたり知ったかすると、カス会社に在籍しているorいたと見なされます。
107よ、キミもだね?

109 :デフォルトの名無しさん:2009/08/30(日) 22:55:12
コメントを目立たせてなんとかしようって方向性だと >>62 みたいになって、
どんどんインフレしていって、結局役にたたなくなる。

110 :デフォルトの名無しさん:2009/08/31(月) 06:42:20
とりあえず >>98 のコーディングルールはひどすぎるな。
考案したやつはさっさと引退して然るべき。
>>98 にはご愁傷様としか言いようがない。

111 :デフォルトの名無しさん:2009/09/01(火) 08:39:18
***********************************************************
がインテリセンスやドキュメントに出てくるのかw

112 :デフォルトの名無しさん:2009/09/01(火) 12:25:26
>>111
実際、一部MFCの関数でもインテリセンスに出てくる。

113 :デフォルトの名無しさん:2009/09/01(火) 21:37:17
>111
doxygenで吐いたドキュメントにも出てきますorz

114 :デフォルトの名無しさん:2009/09/01(火) 22:06:30
ビルドイベントでビルド後にスクリプト動かして,生成されたXMLドキュメントから除去したら?

115 :デフォルトの名無しさん:2009/09/01(火) 23:33:12
> doxygen
で思い出したが, doxygen 用のコメントが全くメンテされていない
ソースをよこして, doxygen の吐き出したドキュメントが詳細仕様
だって言い張る, 火のついた現場は結構見かけるな


116 :デフォルトの名無しさん:2009/09/07(月) 00:14:52
関数のヘッダコメントで>>98みたいのは論外としても、
1ファイルの中のコードを意味的にグループ化して整理しておきたい場合はあるわけで、
そういう時に「見出し」用のブロックコメントを入れるのは今日でも意味があると思うんだけど、間違ってる?

C#なんかは#regionみたいな機能があるわけだけど、
個人的にはあれ視認性があまりよくないと思う。
で、結局#regionの内側の先頭に見出しコメントを入れてたりするw

あと組み込みなんかやってると定数なんかを構造的に分類して見やすくしたい場合が
しばしばあるわけで、そういう時は>>62みたいなのも未だに有効だと思う。

117 :デフォルトの名無しさん:2009/09/07(月) 00:28:17
使うとすれば、一つのソースコードに複数のクラス書くときくらいだねぇ。

118 :デフォルトの名無しさん:2009/09/07(月) 00:41:09
>>116
意味的なグループ化をしたいと思ったときに、まずファイルやクラスの分割を考えた上での
やむをえない判断であれば、ありかもしれない、って程度。

119 :デフォルトの名無しさん:2009/09/07(月) 00:48:16
それはどっちかってーと書き手の良心による部分だな。
コーディングルールとして決め打ちするもんじゃないとは思う。ほら、アフォは盲目的に従うから。

120 :デフォルトの名無しさん:2009/09/07(月) 00:57:28
>>117-118
なんか教条主義的に物を言ってない?

クラスは小さい方がいいに決まっているが、現実の実用的なコードでは
むしろそんな教科書的なケースはむしろ稀だ。

そうでなくても、たとえばC#のコードなら、少なくともプロパティとメソッド、
あと他のオブジェクトのイベントハンドラぐらいは分類しておきたい欲求に駆られるのは
自然に思えるけどなあ。

だからこそVSには#regionなんて機構が用意されているのだろうし。

121 :デフォルトの名無しさん:2009/09/07(月) 01:12:56
見せ方と書き方を混同するとこうなります

122 :デフォルトの名無しさん:2009/09/07(月) 01:48:53
区切り線書いてももいいけど、どうせ守られないし。

123 :デフォルトの名無しさん:2009/09/07(月) 01:57:32
>>120
欲求に駆られるのはわかるが、少しは考えろってことだろ。

124 :デフォルトの名無しさん:2009/09/07(月) 02:30:13
考える暇がないんです

125 :デフォルトの名無しさん:2009/09/07(月) 09:38:45
C#だとプロパティだのメソッドだのインターフェイスだので#regionで括って、
特別に大きなグループ分けしたいときにはパーシャルクラスにしてる

126 :デフォルトの名無しさん:2009/09/08(火) 01:06:10
>1ファイルの中のコードを意味的にグループ化して整理しておきたい場合はあるわけで、
>そういう時に「見出し」用のブロックコメントを入れるのは今日でも意味があると思うんだけど、間違ってる?
まるっきり間違ってるとは思わないけど
コメント使って意味的にくくりたくなるくらいに密接なコードブロックは、
ソース的にもくくりだしちゃった方が明瞭になるケースが殆どじゃない?

エディタだけでどうにかする場合はそういう視覚的な目印があった方が便利だけど、
優秀なIDEあればそういう情報ってノイズにしかならんし。

127 :デフォルトの名無しさん:2009/09/08(火) 08:49:45
せめてドキュメントタグの外に書いてくれ

128 :デフォルトの名無しさん:2009/09/08(火) 22:28:59
>>126
それは違うと思うな。
そういう風に部分ごとにファイルに分けると、今度は部分と部分の関係を把握しにくくなる。
言い方を変えれば、モジュールなりクラスなりの輪郭がわかりにくくなる。

あと今時のタブ付きの環境でも、そういうソースは物理的に読みにくい。

どうもやたらとIDEの利便性を強調する人が多いし、まあ俺もその恩恵にあずかってる
一人ではあるけど、しかしIDEはメソッドを意味的に分類したりする機能は
提供してくれないでしょ。

意味的に分類して整理してあるのとないのじゃ、何を書いたか完全に忘れた状態で
読んだときの理解の早さがまるで違うのは何度も経験してるけどな。

129 :デフォルトの名無しさん:2009/09/08(火) 22:54:03
>126
例えばstringを例に取ると、stringへの代入(書き込み)と、stringの読み取りが
ごっちゃになってたら嫌だろ。

まぁ読みと書き程度なら別クラスに分離しても問題ないと思うが、
読み取り操作だけでも抽出(midやsubstring)や比較(compare、equal)
などのカテゴリが存在するわけで。

それも全部別クラスにするの?

130 :デフォルトの名無しさん:2009/10/16(金) 00:48:15
>>68
いまどき香具師はないだろ。。。

131 :デフォルトの名無しさん:2009/10/16(金) 13:20:44
そういう突っ込みやめろよ!
ここみたいな辺境の板では、いまだに古い2ch語を使い続ける人がいる
そこが面白いんだよ

132 :デフォルトの名無しさん:2009/10/21(水) 12:15:38
// obsolete method
// 香具師
// WARNING: unsupported by young engineers and recommended to replace ...


133 :デフォルトの名無しさん:2009/10/27(火) 21:27:16
2ヶ月も前のレスに突っ込みいれる香具師に言われたかないだろ。

134 :デフォルトの名無しさん:2010/01/07(木) 07:26:29
notepad.exeで長めのコード書いたりすると区切り線コメント欲しいなw
言語やコーディングスタイルによっては検索だけでも何とかなるんだが
モノによっては宣言/実装と呼び出しが似通ってて検索じゃどうにもならんし

まあ、よほどの理由が無い限りメモ帳開発なんてこと自体をしたくないけど

33 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)