コーディングルールの怪しい伝説
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
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
0002デフォルトの名無しさん
2009/08/08(土) 01:39:130003デフォルトの名無しさん
2009/08/08(土) 01:41:480004デフォルトの名無しさん
2009/08/08(土) 01:51:04加筆されるわけがないコードなら意味が無い。
業務レベルだとその判断も出来ない奴が多いから必要だと思うね。
0005デフォルトの名無しさん
2009/08/08(土) 01:57:30○ 「とりあえず動けばおk」で書いてる人
0006デフォルトの名無しさん
2009/08/08(土) 02:02:41使っていいのはループカウンタのi,j,kだけとか。
バリバリ書いて実績を上げてる人は、ふつーに一文字変数使ってる。
0007デフォルトの名無しさん
2009/08/08(土) 02:05:08>>1 の人たちは「お前らヘタクソだからカッコ省略するなよ」って言われるような
ひとより1000倍くらいしっかり書いてるよ。
(ヘタクソが省略しないから、なにがどうなるとは思えないけど)
0008デフォルトの名無しさん
2009/08/08(土) 02:05:42俺も原則使わないよう指導するな。
バリバリ書いて実績を上げてる人=一文字変数使ってる人ではない。
0009デフォルトの名無しさん
2009/08/08(土) 02:07:42バリバリ系の人は、1文字変数をつかってもコードの質は落ちないって
知ってるから、使うんだと思うよ。
0010デフォルトの名無しさん
2009/08/08(土) 02:10:00これは意味わかってやってるのか。
bool変数以外はミスって代入になっても、エラーになるだろ。
0011デフォルトの名無しさん
2009/08/08(土) 02:13:41そしてそういう奴に限ってマネージド言語はおかしいとかわめき出す。
0012デフォルトの名無しさん
2009/08/08(土) 02:16:053ヶ月立ったら自分のコードも他人のコードって奴だ。
変数の寿命が短く、一目で目的が分かる場合でもなければ”質は落ちる”
0013デフォルトの名無しさん
2009/08/08(土) 02:22:17質が落ちるような使いかたしなければいいじゃん。
0014デフォルトの名無しさん
2009/08/08(土) 02:28:03「いや、ヘタクソには有効なスタイルなんだ」って話になりがちだけど、
いいコードにうまい人むけも、ヘタクソ向けもないよ。
うまい人は、だいたい素直なコード。
ヘタほど、定数を左にもってくるとか、ループカウンタにiを避けて、nLoopとか使っちゃうとか
技巧に走ってかえって失敗してる印象。
0015デフォルトの名無しさん
2009/08/08(土) 02:31:17そんなヘタクソにルール無しで書かせたら、もっと酷いことになるよ
0016デフォルトの名無しさん
2009/08/08(土) 02:36:39短ければ短いほどいいとか。
このまえも、某有名人のブログをみてたら、一画面に収まるようにしろって書いてあったし。
それも昔の端末の画面サイズで2,30行以下にしろとか。
コードコンプリートにサブルーチンの行数とバグの数のIBMの調査が載ってるけど、
200行以下のサブルーチンの場合は、行数がすくないほど、一行あたりのバグの数が
増えるって結果だった。
100行のサブルーチンひとつより、10行のサブルーチン10個のほうがバグが多いって結果。
0017デフォルトの名無しさん
2009/08/08(土) 02:39:44だめなルールを守らせても、ヘタクソの質は変わらなくて、そうでない人がやりにくくなるだけ。
0018デフォルトの名無しさん
2009/08/08(土) 02:51:24そんな人材教育に失敗してる環境の理論はいらない。
0019デフォルトの名無しさん
2009/08/08(土) 02:53:49C言語はOOP言語に比べて関数の粒度が大きい方がいいと思う。
C言語でOOをやると可読性(IDE込み)の限界で、大雑把にしないと保守しにくい場面があるし。
0020デフォルトの名無しさん
2009/08/08(土) 02:58:05+で連結は禁止。
無意味だし、面倒だし、読みにくい。
そのルール作ったやつのコードを見てみたら、
if (s.substring(i, i+1).equals(",")) みたいのをループでまわして、文字列を最初から最後まで舐めてるのな。
仮に + 連結の最適化がなくても、これのムダ具合に比べたらかわいいもんだろ。
0021デフォルトの名無しさん
2009/08/08(土) 02:58:330022デフォルトの名無しさん
2009/08/08(土) 03:01:36だから、書き方に、うまい人向けやヘタクソ向けはないって言ってるじゃん。
それを言うならヘタクソを想定してるルールがある時点で、すでに失敗してるだろ。
0023デフォルトの名無しさん
2009/08/08(土) 03:03:091.4.2から5.0に移った際の互換性問題に過剰反応してるんだろうな。
0024デフォルトの名無しさん
2009/08/08(土) 03:06:54OOの理屈が理解で来てれば、iとnLoopに違いは無いと分かるんだろうけどな。
コーディングとソフトウェアデザインのスキルは別物と理解させるのはシンドイ orz
0025デフォルトの名無しさん
2009/08/08(土) 03:15:30文字列の終わりを越えて、ごみが入ってるところまで見にいってるって
古いコードがあって「これ、ダメですよね、ついでに修正します? 」みたいな
話をしてたら、相手がポロリと「うわ、ダセ、クリアもしてないよな?」と。
いや、文字列を入れる配列は全部memset()でクリアって流儀のコードは
幾度となく見てるけど、それはそれでダメ臭が。
0026デフォルトの名無しさん
2009/08/08(土) 03:23:09いちいち「この場合は括弧無しでもおkだから括弧省略」とか考えるの面倒くさいし。
0027デフォルトの名無しさん
2009/08/08(土) 03:28:04自分がノリノリで書いてる時はいいんだよ。
ただ、他人がそのコード見たときに「なに、この変数名?」って思って
ごっそり書き換えられるのがオチだけどな。
0028デフォルトの名無しさん
2009/08/08(土) 03:29:08Cのように、関数の先頭で全部宣言するのがいいスタイルって
信じてる人も少なからずいる。
あと、これとあわせ技で、とりあえず宣言時に0とかnullで初期化
しとくとか。
これをやると、本当の初期化を忘れたときに、コンパイラの警告が
でなくなる。
0029デフォルトの名無しさん
2009/08/08(土) 03:33:48一文字変数のほうがすっきりするところは一文字変数で。
一文字だとわからないところは、ちゃんとした名前で。
このくらいの書き分けはノリノリの状態でもできるでしょ。
というか、コードを改悪されちゃうのを見越して、最初からそれに合わせて書くってこと?
0030デフォルトの名無しさん
2009/08/08(土) 03:40:46初期化忘れはアプリの動作がちょっと変になる程度で済むが、
ぬるぽは不正終了に直結し易い。
開発時には後者の方が嬉しいが(問題が発覚し易いから)、
リリース後は前者の方が無難。
0031デフォルトの名無しさん
2009/08/08(土) 03:43:44ノリノリのときは、頭がクリアだからaから順番に変数名にしてるようなコードでも
すらすらと書けちゃうんだよ。
ただ、そんなコードは後から修正されちゃうけどね。
0032デフォルトの名無しさん
2009/08/08(土) 03:51:33∴ ソフトウェアデザインは浸透しない
0033デフォルトの名無しさん
2009/08/08(土) 03:53:16「自分は何十人もの部隊を率いてこのコーディングルールでやってきて実績をあげてる」とか
言って、正しいと主張したりするわけですよ。
どういう仕事か明かしてくれたらまた話は別だけど、匿名でそんなこと言われても、
どういう実績をあげてるか確認しようがないわけですよ。
(さらに言えば実績といってもCOBOLのスタイルをそのままJavaに持ち込んで仕事を
してるような人でも、実績があると自負してたりするだろうけど、それは置いといて)
で、誰もが認める実績と、確認できるコーディングスタイルを元に、有効なそれを
語ろうと思って、>>1 のような例をあげているわけだけど、その例をどう考えるか触れないで
「波カッコ省略はよくない」ってただ言い返してもしょうがないと思うわけですよ。
実際、波カッコ省略で、そこらへんのPGよりいい仕事をしてるわけだから。
「それは、スキルが高いから、そういう書き方でもいいんだ」とか、
「そのサンプルは偏ってるだろ」とか、
「実はそれらは品質低いよ」とか、
「業務とかとはポリシーが違うね」とか、
なんでもいいんで、ただ言い返すだけじゃなくてそこらへんのポイントに反論ないと、
議論が深まらないんじゃないの?
0034デフォルトの名無しさん
2009/08/08(土) 03:56:48修正されずに残ってるよ。 >>1 の例とか。
0035デフォルトの名無しさん
2009/08/08(土) 05:27:220036デフォルトの名無しさん
2009/08/08(土) 08:54:24これ見る度にTest-RTの不具合思い出すわ
0037デフォルトの名無しさん
2009/08/08(土) 09:58:44それはな、
「子供のうちは省略するな、大人になったら省略しても良い」
ってことだよ。
0038デフォルトの名無しさん
2009/08/08(土) 10:33:030039デフォルトの名無しさん
2009/08/08(土) 10:40:260040デフォルトの名無しさん
2009/08/08(土) 10:42:170041デフォルトの名無しさん
2009/08/08(土) 10:45:440042デフォルトの名無しさん
2009/08/08(土) 11:44:360043デフォルトの名無しさん
2009/08/08(土) 11:54:340044デフォルトの名無しさん
2009/08/08(土) 12:00:46void*みたいなダウンキャストがあると特に。
0045デフォルトの名無しさん
2009/08/08(土) 12:13:44システムハンガリアン等と言う役に立たないものは使っていない
0046デフォルトの名無しさん
2009/08/08(土) 12:25:44システムハンガリアンだけ悪ってのなら、俺も賛成する。
0047デフォルトの名無しさん
2009/08/08(土) 12:31:030048デフォルトの名無しさん
2009/08/08(土) 12:48:330049デフォルトの名無しさん
2009/08/08(土) 13:23:450050デフォルトの名無しさん
2009/08/08(土) 17:02:410051デフォルトの名無しさん
2009/08/08(土) 17:07:44そのMSでさえ、ハンガリアンを捨て始めてるし。
0052デフォルトの名無しさん
2009/08/08(土) 17:11:21でも、俺のような底辺ITドカタの周囲でもハンガリアンはやめようって流れになってる。
0053デフォルトの名無しさん
2009/08/08(土) 18:00:22その人はアプリケーションハンガリアンとシステムハンガリアンの違いを考えたことがない人だからだ
これの違いを考えたことがないということは、つまりアプリケーションハンガリアンの意義を知らないということだからだ
どっちも書くときに死ぬほどめんどくさいというのは間違いないことだが、
アプリケーションハンガリアンにはめんどくさいことをしてでも書くだけの一定の価値がある
0054デフォルトの名無しさん
2009/08/08(土) 18:15:27「日本人には適切なプレフィクスを作れない」
だと思う今日このごろ
結局長くなって「慎重な変数名・メソッド名」の域を出ないシロモノに
0055デフォルトの名無しさん
2009/08/08(土) 18:16:52こう書けたらいいの?
0056デフォルトの名無しさん
2009/08/08(土) 18:20:34アプリケーションなんとかって言ってるやつは、最近知って揚げ足をとりたくてしかたないやつ。
昔の「HPってなに?」とか煽って喜んでた連中と同じ。
0057デフォルトの名無しさん
2009/08/08(土) 18:29:03えらそうにアドバイスしてるやつうぜえ。
そんな無意味なもん使わせるな。
0058デフォルトの名無しさん
2009/08/08(土) 18:29:13実際に議論をしたことがあるなら丸わかりなことを脳内で収めるから
0059デフォルトの名無しさん
2009/08/08(土) 18:39:59アプリケーションハンガリアンって「適切な変数名を付けましょう」って以上のことを
言ってないからなぁ。あれに感心する奴は、いままでどんなコード書いてきたんだと。
さらに言えば、プレフィックス(ハンガリアン記法)を強制する必要性も薄いよね。
Wikipediaの例で言えば、
dolIncomeじゃなくて
incomeInDolでいいわけだし。
0060デフォルトの名無しさん
2009/08/08(土) 20:32:18接辞語を前につけるかあとにつけるかなんて、根本に何ら影響しないことだろ。
0061デフォルトの名無しさん
2009/08/09(日) 00:39:10コード補完使ってる場合は、前に付いてた方が有難い。
grepの時も前に付いてる方が便利な気がする。
0062デフォルトの名無しさん
2009/08/09(日) 11:55:26// 見出し1
//**********************************************
//==========================
// 見出し2
//==========================
//-----------------
// 見出し3
//-----------------
0063デフォルトの名無しさん
2009/08/09(日) 12:21:370064デフォルトの名無しさん
2009/08/09(日) 14:45:450065デフォルトの名無しさん
2009/08/09(日) 14:52:370066デフォルトの名無しさん
2009/08/10(月) 19:57:21バグを生まないコーディング法、10個の規則でソフト開発を効率化
http://eetimes.jp/article/23004/
続・バグを生まないコーディング法
http://eetimes.jp/content/3107
0067デフォルトの名無しさん
2009/08/10(月) 23:15:19n て変数使っていてレビューで書き直しを命じられたから、numってしたらOKだった。
どういう意味があるんだってオモタよ。
0068デフォルトの名無しさん
2009/08/11(火) 01:11:45そのコードが色んな香具師の手でカオス化していき、
再設計しようって段階になった時、影響範囲を調べるのに
nとnumとじゃできる事の幅が違うぞ。
numならnum、number、etcを一気に洗い出せるが、nではそうもいかない。
…まぁ考え過ぎだ罠。
0069デフォルトの名無しさん
2009/08/11(火) 01:12:49なにか基準があっただけなんだから気にスンナ。
0070デフォルトの名無しさん
2009/08/11(火) 01:35:08num, numberという変数の影響範囲をgrepで探さないといけないようなコードは、
別のコーディングルールを適応した方がいいと思う。
0071デフォルトの名無しさん
2009/08/11(火) 07:19:51グローバル変数やクラスのメンバ変数のような
スコープの広い変数ならきちんとした名前をつけるべきだが
スコープ狭いローカル変数なら、たいして問題にならない。
1000行くらいある関数なら別だけどw
0072デフォルトの名無しさん
2009/08/11(火) 13:38:32Javaでgrepしてるのは納得できない
0073デフォルトの名無しさん
2009/08/19(水) 21:57:00変数全部洗い出してくれるよ。
0074デフォルトの名無しさん
2009/08/19(水) 22:07:310075デフォルトの名無しさん
2009/08/19(水) 22:20:490076デフォルトの名無しさん
2009/08/19(水) 22:38:29俺のとなりではJavaをメモ帳で書いてるぞ
0077デフォルトの名無しさん
2009/08/19(水) 22:45:33いちいち検索窓開くよりそっちの方が早いもん。
IDEだとIDE管理外のソースは検索してくれないし。
0078デフォルトの名無しさん
2009/08/19(水) 22:54:31if( a != 0 );
a+=1;//aが0でなければaに1を加算
if( a == 0 )
{
return true;
}
else
{
return false;//なぜかここが実行される
}
0079デフォルトの名無しさん
2009/08/19(水) 23:10:290080デフォルトの名無しさん
2009/08/19(水) 23:52:260081デフォルトの名無しさん
2009/08/20(木) 00:52:180082デフォルトの名無しさん
2009/08/20(木) 00:56:01何が問題なんだ?
0083デフォルトの名無しさん
2009/08/20(木) 01:04:17if( a == 0 )
return true;
else
return false;//なぜかここが実行される
にするべきだな。
0084デフォルトの名無しさん
2009/08/20(木) 04:35:14if( a != 0 );
a+=1;//aが0でなければaに1を加算
if( a == 0 );
{
return true;
}
else
{
return false;//なぜかここが実行される
}
こうすればコメント通りの結果になると思う
0085デフォルトの名無しさん
2009/08/20(木) 05:19:110086デフォルトの名無しさん
2009/08/20(木) 05:32:38これはひどい、もう一度その言語の規格書読み直した方がいい
ああ、俺様言語か、ごめん
0087デフォルトの名無しさん
2009/08/20(木) 06:01:520088デフォルトの名無しさん
2009/08/20(木) 10:55:18if( a != 1 );
a=0;//aが1でなければaに0を代入
if( a = 1 )
{
return true; //期待通りここが実行される
}
else
{
return false;
}
これなら、ちゃんと動く。
0089デフォルトの名無しさん
2009/08/20(木) 23:07:07if( a != 1 );
a=0;//aが1でなければaに0を代入
if( a = 1 )
{
return true; //期待通りここが実行される
}
else
{
return false;
}
にするべきだな。
0090デフォルトの名無しさん
2009/08/20(木) 23:08:130091デフォルトの名無しさん
2009/08/21(金) 11:00:19お前らを見てると自分が間違えてるような気がしてくる
0092デフォルトの名無しさん
2009/08/21(金) 15:56:110093デフォルトの名無しさん
2009/08/21(金) 21:14:120094デフォルトの名無しさん
2009/08/24(月) 08:30:34// 用途: ○○を××する
// return : true=>成功、false=>失敗
// <in> int nHoge => うんたらの値
// <in> char *szFuga => かんたらの文字列
// <in, out> void *pData => 追加データへのポインタ
//================================================
↑前に居た会社で関数にこういうコメント付ける規則があったんだけど、
const付ける習慣が無かった。constを徹底してればinとかoutとか書く
必要無いと思うんだけど・・・経験浅いから自信ない(´・ω・`)
0095デフォルトの名無しさん
2009/08/24(月) 08:36:490096デフォルトの名無しさん
2009/08/24(月) 08:51:09その認識で合ってるよ。
0097デフォルトの名無しさん
2009/08/24(月) 09:03:50自動ドキュメント作成ツールでも使っているんじゃないの
typedef T *S; const S s;とconst T *t;は意味が違うんだよなぁ
私はdoxygenスタイルでいつも書いている
0098デフォルトの名無しさん
2009/08/24(月) 23:21:00コメントに罫線っていうか飾りをつけると一気に素人くさいコードに
なっちゃうけど、大好きな人っていっぱいいるよね。
C#で仕事したとき、そういうコーディングルールを決められそうになったから、
C#は標準のコメントの書き方ありますよって言って、それなら、それを採用
しようってことになったんで、なんとか回避できたと思ってたら、できあがった
コーディングルールをみたら↓みたいな感じになってた。
/// <summary>
/// ***********************************************************
/// 値を加算する
/// ***********************************************************
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public int Plus(int val)
0099デフォルトの名無しさん
2009/08/25(火) 01:28:220100デフォルトの名無しさん
2009/08/25(火) 09:36:25エディタの機能を使いこなせないかそもそもまともなエディタを使ってないかのどちらかの理由で、
スクロールさせて関数を見つける習慣が身についてしまうらしい。
そういった連中にとっては、飾りがあることが関数を見つけるために重要なのだろう。
# だとしても、/を一行並べておけばいいだけだと思うけれどね。
# //////////////////////////////////////////
# こんな風にwwwwwwwwwwwwwwwwwwwwwwww
0101デフォルトの名無しさん
2009/08/25(火) 09:40:49> スクロールさせて関数を見つける習慣が身についてしまうらしい。
そういうことだったのか。ようやく理屈がわかってすっきりした。ありがとう。
・・・いや、すっきりはしないな。理屈がわかって、よかった、と。
0102デフォルトの名無しさん
2009/08/25(火) 11:30:50MIFESとかスクロールスピード命みたいな宣伝文句があったもんなぁ…
0103デフォルトの名無しさん
2009/08/25(火) 11:43:51/// <summary>
しか見えないんだよね。まあデバッグには関係ないんだが。
0104名無しさん@そうだ選挙に行こう
2009/08/30(日) 12:55:35ディスプレイの解像度も低かったから、
コードを追おうとしたら紙に出すのが手っ取り早かったのだ。
そんなときに関数単位で区切りがわかる線コメントは便利だったんよ。
その時代の名残といえばそうだ。IDEの進化した今やる意味はないと思う。
0105名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:58:000106名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:25:30線コメントが便利に感じてくる。マヂで。
0107名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:39:190108デフォルトの名無しさん
2009/08/30(日) 20:21:20そういう事です。
つまり2chで下手にぼやいたり知ったかすると、カス会社に在籍しているorいたと見なされます。
107よ、キミもだね?
0109デフォルトの名無しさん
2009/08/30(日) 22:55:12どんどんインフレしていって、結局役にたたなくなる。
0110デフォルトの名無しさん
2009/08/31(月) 06:42:20考案したやつはさっさと引退して然るべき。
>>98 にはご愁傷様としか言いようがない。
0111デフォルトの名無しさん
2009/09/01(火) 08:39:18がインテリセンスやドキュメントに出てくるのかw
0112デフォルトの名無しさん
2009/09/01(火) 12:25:26実際、一部MFCの関数でもインテリセンスに出てくる。
0113デフォルトの名無しさん
2009/09/01(火) 21:37:17doxygenで吐いたドキュメントにも出てきますorz
0114デフォルトの名無しさん
2009/09/01(火) 22:06:300115デフォルトの名無しさん
2009/09/01(火) 23:33:12で思い出したが, doxygen 用のコメントが全くメンテされていない
ソースをよこして, doxygen の吐き出したドキュメントが詳細仕様
だって言い張る, 火のついた現場は結構見かけるな
0116デフォルトの名無しさん
2009/09/07(月) 00:14:521ファイルの中のコードを意味的にグループ化して整理しておきたい場合はあるわけで、
そういう時に「見出し」用のブロックコメントを入れるのは今日でも意味があると思うんだけど、間違ってる?
C#なんかは#regionみたいな機能があるわけだけど、
個人的にはあれ視認性があまりよくないと思う。
で、結局#regionの内側の先頭に見出しコメントを入れてたりするw
あと組み込みなんかやってると定数なんかを構造的に分類して見やすくしたい場合が
しばしばあるわけで、そういう時は>>62みたいなのも未だに有効だと思う。
0117デフォルトの名無しさん
2009/09/07(月) 00:28:170118デフォルトの名無しさん
2009/09/07(月) 00:41:09意味的なグループ化をしたいと思ったときに、まずファイルやクラスの分割を考えた上での
やむをえない判断であれば、ありかもしれない、って程度。
0119デフォルトの名無しさん
2009/09/07(月) 00:48:16コーディングルールとして決め打ちするもんじゃないとは思う。ほら、アフォは盲目的に従うから。
0120デフォルトの名無しさん
2009/09/07(月) 00:57:28なんか教条主義的に物を言ってない?
クラスは小さい方がいいに決まっているが、現実の実用的なコードでは
むしろそんな教科書的なケースはむしろ稀だ。
そうでなくても、たとえばC#のコードなら、少なくともプロパティとメソッド、
あと他のオブジェクトのイベントハンドラぐらいは分類しておきたい欲求に駆られるのは
自然に思えるけどなあ。
だからこそVSには#regionなんて機構が用意されているのだろうし。
0121デフォルトの名無しさん
2009/09/07(月) 01:12:560122デフォルトの名無しさん
2009/09/07(月) 01:48:530123デフォルトの名無しさん
2009/09/07(月) 01:57:32欲求に駆られるのはわかるが、少しは考えろってことだろ。
0124デフォルトの名無しさん
2009/09/07(月) 02:30:130125デフォルトの名無しさん
2009/09/07(月) 09:38:45特別に大きなグループ分けしたいときにはパーシャルクラスにしてる
0126デフォルトの名無しさん
2009/09/08(火) 01:06:10>そういう時に「見出し」用のブロックコメントを入れるのは今日でも意味があると思うんだけど、間違ってる?
まるっきり間違ってるとは思わないけど
コメント使って意味的にくくりたくなるくらいに密接なコードブロックは、
ソース的にもくくりだしちゃった方が明瞭になるケースが殆どじゃない?
エディタだけでどうにかする場合はそういう視覚的な目印があった方が便利だけど、
優秀なIDEあればそういう情報ってノイズにしかならんし。
0127デフォルトの名無しさん
2009/09/08(火) 08:49:450128デフォルトの名無しさん
2009/09/08(火) 22:28:59それは違うと思うな。
そういう風に部分ごとにファイルに分けると、今度は部分と部分の関係を把握しにくくなる。
言い方を変えれば、モジュールなりクラスなりの輪郭がわかりにくくなる。
あと今時のタブ付きの環境でも、そういうソースは物理的に読みにくい。
どうもやたらとIDEの利便性を強調する人が多いし、まあ俺もその恩恵にあずかってる
一人ではあるけど、しかしIDEはメソッドを意味的に分類したりする機能は
提供してくれないでしょ。
意味的に分類して整理してあるのとないのじゃ、何を書いたか完全に忘れた状態で
読んだときの理解の早さがまるで違うのは何度も経験してるけどな。
0129デフォルトの名無しさん
2009/09/08(火) 22:54:03例えばstringを例に取ると、stringへの代入(書き込み)と、stringの読み取りが
ごっちゃになってたら嫌だろ。
まぁ読みと書き程度なら別クラスに分離しても問題ないと思うが、
読み取り操作だけでも抽出(midやsubstring)や比較(compare、equal)
などのカテゴリが存在するわけで。
それも全部別クラスにするの?
0130デフォルトの名無しさん
2009/10/16(金) 00:48:15いまどき香具師はないだろ。。。
0131デフォルトの名無しさん
2009/10/16(金) 13:20:44ここみたいな辺境の板では、いまだに古い2ch語を使い続ける人がいる
そこが面白いんだよ
0132デフォルトの名無しさん
2009/10/21(水) 12:15:38// 香具師
// WARNING: unsupported by young engineers and recommended to replace ...
0133デフォルトの名無しさん
2009/10/27(火) 21:27:160134デフォルトの名無しさん
2010/01/07(木) 07:26:29言語やコーディングスタイルによっては検索だけでも何とかなるんだが
モノによっては宣言/実装と呼び出しが似通ってて検索じゃどうにもならんし
まあ、よほどの理由が無い限りメモ帳開発なんてこと自体をしたくないけど
0135デフォルトの名無しさん
2010/08/05(木) 04:21:43を書いたコーディングシートをコピーして使った。パンチカードの時代で、
パンチ屋さんに出すので、当然隙間の所の/* */だけの行もパンチされ、
すごい無駄なことになった。
0136デフォルトの名無しさん
2010/08/08(日) 02:51:51てか波括弧、インデントくらいしかコーディングルールとして
徹底させる意味のあることってない気がするが。
後は個人のセンスでなんとかするしかない。
0137アセンション
2010/08/08(日) 06:07:35昔の俺と同じだ。
人間原理なんて考えが本当にあるなんて思いもよらなかった。
俺は傲慢な人間ではないからずっと宇宙原理を信じてきた。
ちなみに正規表現で置換するのも偶然じゃない。
最初は正規表現て何だよって思った。
要するに性器表現で痴漢じゃねーか。
お花畑なんかじゃなくて本当に実在するって気づけ。
今まで見下してたオカルト連中こそが真実を語っていたのだ。
科学を信じて真面目に生きてきた俺は一体なんだったんだ・・・・
0138デフォルトの名無しさん
2010/08/08(日) 11:31:330139デフォルトの名無しさん
2010/08/08(日) 16:56:18っ 心療内科
0140デフォルトの名無しさん
2010/08/08(日) 17:17:350141デフォルトの名無しさん
2010/08/08(日) 19:44:290142デフォルトの名無しさん
2010/08/08(日) 22:46:41「せいき表現」の方が食いつきが良いからでは。
「はじめてのC」でC言語が流行ったのと同じかと。
とか言ってみる。
0143デフォルトの名無しさん
2010/08/09(月) 12:15:42パンチカードで、C……
0144デフォルトの名無しさん
2010/08/09(月) 13:15:53言いたいことは分かるが、勉強が足らんな。
0145デフォルトの名無しさん
2010/08/09(月) 17:49:16コーディングルールも時代で変わる
8bitマシンでMS-BASIC使ってた頃はインデントすら一般的でなかった…
今では考えらえない
古い時代に育つと古いコーディングルールに沿ってしまう
linux, git, postgresql, subversion, firefox, python
apache, vim, ruby, gimp, OpenOffice, jdkのライブラリのソース
は残念ながら古い人が書いたソース
それだけ
0146デフォルトの名無しさん
2010/08/10(火) 23:53:120147デフォルトの名無しさん
2010/08/11(水) 10:16:20画面上80桁で改行してる(ように見える)から規約は守ってる。
まあ実際、底辺クラスはこういう奴ばかりなんだがねw
0148デフォルトの名無しさん
2011/09/15(木) 00:43:38.24置き換える更新案件に関わった事があるが、まさに>>98のような
コメントだった。IDE使っているにも関わらず。
というか、コメント部分はそのまま旧システムのスタイルを引き継いだ。
だからXMLでも無い。
信じられないかもしれないが、日本を代表するぐらいの有名企業のシステム。
コメントのスタイル踏襲を決めたのはうちの上司だが。
しかもシステムハンガリアンとか、このスレで挙がった悪い例のオンパレード
になってる。
0149デフォルトの名無しさん
2011/10/07(金) 20:06:50.32大きな企業はシステムが入ったのも古いからね。
そこのシステム担当者は当然そういう旧世代のシステム
しか触った事がない。下請けは場合によるけど
たぶん古い時代から同じところが請けてるから
その下請けも旧世代のシステムしか触った事が無いし
勉強する気も無いから、そこらへんは仕方無いかも
しれないね。
0150デフォルトの名無しさん
2011/10/10(月) 23:05:30.73結局は古い時代のものを現代のシステムに持ち込もうという
人がいるのがダメなんだろうな。人よ、人。
0151デフォルトの名無しさん
2011/10/10(月) 23:24:33.45typedef struct {
...
} FOOTYPE;
なか見て良いのかどうかわからないだろ?
# つかレジスターサイズ以上のもんを typedef するなんて犯罪だろ(Cに限って)?
0152デフォルトの名無しさん
2011/10/11(火) 00:46:23.92これがコーディングルールの怪しい伝説?w
0153デフォルトの名無しさん
2011/10/11(火) 14:37:55.670154デフォルトの名無しさん
2011/10/11(火) 20:56:41.55Linuxも*BSDもカーネルのスタイルガイド的なものに関しては
理由つきでstructのtypedefは使用するなと書いてある
# solarisもそうじゃなかったかな, C++は別物
0155デフォルトの名無しさん
2011/10/12(水) 00:37:56.07もういいよね。
0156デフォルトの名無しさん
2011/10/16(日) 10:28:40.30FILE 構造体について、どう思う?
0157デフォルトの名無しさん
2011/10/16(日) 14:34:58.81FILE 構造体は typedef じゃないだろ?
linux の Documentation/CodingStyle とか *BSD の style(9) とか読めば,
構造体を typedef しちゃだめな理由がちゃんと書いてある
0158デフォルトの名無しさん
2011/10/16(日) 14:37:55.750159デフォルトの名無しさん
2011/10/16(日) 14:39:03.960160デフォルトの名無しさん
2011/10/16(日) 14:44:00.270161デフォルトの名無しさん
2011/10/16(日) 18:44:43.92>FILE 構造体は typedef じゃないだろ?
・・・言っている意味が全然分からない。
じゃあ一体、何をもって typedef だと言えるのかを教えてくれ。
>linux の Documentation/CodingStyle とか *BSD の style(9) とか読めば,
>構造体を typedef しちゃだめな理由がちゃんと書いてある
ああ、分かった。
>>157 は、物事を自分で確かめようとしないタイプの人なのか。
はいはい、仰るとおり。
やっぱりケーブルは "モンスターケーブル" じゃないと駄目だよね。
0162デフォルトの名無しさん
2011/10/20(木) 21:23:40.87と C の教科書に書いてあったのを思い出した
結局机上の空論でしかなかったw
0163デフォルトの名無しさん
2011/10/25(火) 00:47:13.63enum や typedef 使えって書いてあると思うぞ。
個人的にはそこまでマクロを嫌わんでもいいかなと思いつつあるが。
0164デフォルトの名無しさん
2011/10/29(土) 13:38:07.73マクロもまともに使えないような低能はよく言うね
0165デフォルトの名無しさん
2011/10/29(土) 22:51:07.63お前らは使うなってさ。
0166デフォルトの名無しさん
2011/10/30(日) 13:41:14.61そうゆうやつらはまともな C のコードも書けないだろ?
0167デフォルトの名無しさん
2011/10/30(日) 13:55:23.54Sleep()って関数書いたら謎のエラーが発生するとか
マジ勘弁
0168デフォルトの名無しさん
2011/10/30(日) 14:45:23.090169デフォルトの名無しさん
2011/10/30(日) 14:51:00.940170デフォルトの名無しさん
2011/10/30(日) 15:55:04.79だからといって同じ職場にならないわけじゃない。
0171デフォルトの名無しさん
2011/10/31(月) 21:01:12.55うちはそうゆう連中は, プログラミングとは関係のない, よその部署に移っていただく
0172デフォルトの名無しさん
2011/10/31(月) 21:34:14.090173デフォルトの名無しさん
2011/11/01(火) 02:46:14.59ひさしぶりにpascal置き換えのマクロに遭遇したよ。
STLをインクルードすると全部エラーになる素敵なマクロなのぜ
0174デフォルトの名無しさん
2011/11/02(水) 11:06:37.23小学生じゃないんだから、なんでも「俺の場合は」って自分の話に持っていくなよ・・・。
>>173
小文字でやるやつがいたのか。
大文字のなら見たことあるけど、あれは一応マクロであることが分かりやすいように気を使っていたのか。
0175デフォルトの名無しさん
2011/11/16(水) 09:18:01.810176デフォルトの名無しさん
2011/12/03(土) 10:34:54.44「意味のわかる関数名にしろ」と言って怒られた
0177デフォルトの名無しさん
2011/12/03(土) 10:59:01.37俺もわからん
その手のライブラリとか作ってたこともあるけど
1年以上も離れると綺麗さっぱり忘れた
0178デフォルトの名無しさん
2011/12/03(土) 11:15:54.19という関数名で。ぜひ。
0179デフォルトの名無しさん
2011/12/03(土) 11:36:41.41プロジェクト内でgcdという単語が使われてないならしょうがないな
用語を周知するって手もないわけではないが176の立場的に多分無理そうだし
0180デフォルトの名無しさん
2011/12/03(土) 13:54:53.02わろたwW もらい
0181デフォルトの名無しさん
2011/12/03(土) 14:18:17.43> プロジェクト内でgcdという単語が使われてないならしょうがないな
それ以前の問題のような気がする
厨房のときに最大公約数はgcdとかgcfとかgcmって、略すと教わった
最大公約数が必要な文脈でそれがわからない方がおかしいと思う
怒ったやつって中学まともに卒業してないんじゃね?
0182デフォルトの名無しさん
2011/12/03(土) 14:53:09.76それがわからないのはおかしいかも知れんな
0183デフォルトの名無しさん
2011/12/03(土) 18:44:00.06GreatestCommonDivisor()にでもしたら?
それでも判らんって>177なら言いそうだけど。
0184デフォルトの名無しさん
2011/12/06(火) 01:27:20.69文系のアホ共の言うことに従っとこうや
といいつつこれいいな!
saidai_kouyakusuu_ha_suugaku_deha_ryakusite_GCD_to_kakaremasu( ... )
0185デフォルトの名無しさん
2011/12/06(火) 06:54:47.75gcdなんて小文字なのも悪いんじゃないの?
0186デフォルトの名無しさん
2011/12/06(火) 07:58:20.610187デフォルトの名無しさん
2011/12/06(火) 18:56:47.860188デフォルトの名無しさん
2011/12/06(火) 20:05:09.56アセンブラのldとかmvと一緒でいまさら不要なものだと思いますが。
moveがmvとかloadがldとか判り易いという人も世の中にはいますがね。
0189デフォルトの名無しさん
2011/12/06(火) 20:54:56.11commandがcmdはchmodが絶対絡んでこない場なら有り
0190デフォルトの名無しさん
2011/12/06(火) 21:57:04.88中学のことじゃなくても、多項式の因数分解やったときに出てこなかった?
0191デフォルトの名無しさん
2011/12/06(火) 22:47:55.19fld以外は抵抗ないなあ
てか、fieldってスコープ示す以外であんま使わなくね?
だからスコープ示すなら f_ 、それ以外なら単語そのまま書くなあ
0192デフォルトの名無しさん
2011/12/06(火) 23:15:15.79なに?HSPディスってんの?
0193デフォルトの名無しさん
2011/12/06(火) 23:20:13.75graphic_contextとかになるとうんざりしてくるな。
0194デフォルトの名無しさん
2011/12/07(水) 00:15:44.00入力の手間を惜しんで共通理解が得られるか怪しい略語を使うよりはマシになりますよ!
0195デフォルトの名無しさん
2011/12/07(水) 01:30:15.460196デフォルトの名無しさん
2011/12/07(水) 15:42:27.59Javaみたいなお経みたいなコードになるのは嫌だ
0197デフォルトの名無しさん
2011/12/07(水) 19:08:10.110198デフォルトの名無しさん
2011/12/07(水) 20:10:11.790199デフォルトの名無しさん
2011/12/08(木) 11:56:48.75適切な文脈情報を補完しないと復元に失敗するという欠陥について考えるべき
0200デフォルトの名無しさん
2011/12/08(木) 21:30:55.06そういう意味でnamespace的なものはあんまり略語とか使わなくても長ーい表現にならんので結構助かってる
0201デフォルトの名無しさん
2011/12/09(金) 02:25:17.480202デフォルトの名無しさん
2011/12/09(金) 02:31:15.62慣れてないなら慣れるまで努力しろよ
付いて来れない香具師の相手してたら
プロジェクトのレベル下がるだろ
0203デフォルトの名無しさん
2011/12/09(金) 07:24:27.50(新人はともかく)よほどの畑違いでなきゃ読める程度にはしておかないと
0204デフォルトの名無しさん
2011/12/09(金) 08:45:31.72関数が F0012 とか
変数が V3456 とか
可読性低いのは困るな
0205デフォルトの名無しさん
2011/12/09(金) 18:52:32.55開発に参加したら、定数を全部コード中に直で書くから
マジックナンバーだらけになる件について。
客先指定のコーディングルールはあるけど、理解できてない模様。
GOTOを使わずに書く、という事ぐらいはできる模様。
関心の分離とか理解できてないので、長ったらしい関数ばかりになる。
モジュールの結合度を薄くする、とか理解できてないから
巨大なグローバルメモリを用意しようとする。
こういう人が自社内のコーディングルールを作るとどうなるかわかる?
0206デフォルトの名無しさん
2011/12/09(金) 19:01:06.56鼻から悪魔が出てもおかしくないルールになりそうだ
0207デフォルトの名無しさん
2011/12/10(土) 00:31:17.32プログラムの現場でプログラムしようとするのはいいことだ。
…というか、必要なことだ。トム・デマルコも書いてるし。
もちろん、実際にコーディングされると迷惑なので、
ごく簡単な部分だけにしていただくわけだが
しかし、現場にいなければ見えてこないことはいくらもある。
そういう上司でなければ真のマネジメントはできない。
0208デフォルトの名無しさん
2011/12/10(土) 08:52:09.210209デフォルトの名無しさん
2011/12/10(土) 09:08:11.100210デフォルトの名無しさん
2011/12/10(土) 09:19:09.110211デフォルトの名無しさん
2011/12/10(土) 11:24:51.49上司にはバランスが必要だ。そのバランスを保つためには現場の知識が必要だ。
このへんはスコットバークンの本で。
0212デフォルトの名無しさん
2011/12/10(土) 15:47:53.90開発だって上流と下流の間を誰かうまくつないでくれたらいいなぁ
0213デフォルトの名無しさん
2011/12/10(土) 19:30:02.01精神を病んでしまう
0214デフォルトの名無しさん
2011/12/11(日) 10:41:52.60既にいるはずだ
0215デフォルトの名無しさん
2011/12/11(日) 14:45:39.430216デフォルトの名無しさん
2011/12/12(月) 21:46:05.75全然ダメだわ。その政治力だけうまく発揮してくれたらいいのに、
下手に技術に関わってくるとロクな事がない。
0217デフォルトの名無しさん
2012/01/15(日) 20:10:36.62「オブザーバーパターンじゃないのに何でそんな名前つけるんだ???」
制御畑に首突っ込むなよ、制御理論もしらんクズは
0218デフォルトの名無しさん
2012/01/15(日) 20:24:39.70なんでオブザーバーパターンじゃないのに
そんな名前をつけるんだ?
0219デフォルトの名無しさん
2012/01/15(日) 21:13:54.51Oサーバーなんて意味不明な変数名どうでもいいじゃないか
0220デフォルトの名無しさん
2012/01/15(日) 21:30:30.09制御では disturbance observer って立派な用語があるんだよ
>>219 すまん、いまキーボードの `b' と `n' のタッチがおかしいんだ
0221デフォルトの名無しさん
2012/01/15(日) 23:16:24.58うん。そう説明すれば終わる話でしょ。
お前は自分の畑仕事外のこと
何でも知ってるのか?
他の仕事みて、疑問が湧いても聞かないのか?
そんなちっちぇーことでクズ呼ばわりすんなよクズ
0222デフォルトの名無しさん
2012/01/15(日) 23:43:16.09そう説明しても聞き入れないような頭の固いやつに来ていただきたくないな
説明した後もぶつぶつ文句言ってて仕事のじゃまになってしようがないんだが
0223デフォルトの名無しさん
2012/01/15(日) 23:45:54.95それで?
0224デフォルトの名無しさん
2012/02/09(木) 23:18:57.06なんか知らんがメンタル弱すぎワロタ
■ このスレッドは過去ログ倉庫に格納されています