バカなコーディング規約
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGつか適用すると逆に悪くなるじゃねーか。
そんな、バカなコーディング規約を書いてください。
言語は問いません。
0002かぼ師匠@N88-ぱんぷきん
NGNG( ‘д‘) < 一応2Getずざーー
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGって言うと答えない。矛盾だらけのハンガリアン信者。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGって言うとそうでもない。矛盾だらけのハンガリアン信者。
0016デフォルトの名無しさん
NGNGtypedef unsigned char uchar
でも、これはこれで便利 という罠
0018デフォルトの名無しさん
NGNGって言うとそうでもない。矛盾だらけのハンガリアン信者!
氏ね。おまえはプロジェクトに必要ネエ
0019デフォルトの名無しさん
NGNGJavaは区切りなしで大文字小文字を推奨してるね。
まあ、郷に入りては郷に従え ってところか
0020デフォルトの名無しさん
NGNG誰もそんなことしないっつーの
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGどんなコーディング規約にせよ、徹頭徹尾規約を遵守していて
例外なんてひとつも無い というなら
それはそれで見やすいコードになるから。
大人数のチームでプロジェクトを進めるときは
規約のあるなしで大きく効率が変わるのも また真実。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGSmalltalkもね。
Lispとは大違い(w
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGうちの会社では typedefした構造体 には_tをつけてた。
見やすかったよ
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGboolean 型 ― hogeFlag
int 型 − iHogeHoge
文字列型 − strHogeHoge
その他オブジェクト型 − objHogeHoge
※オブジェクト型は曖昧になるのでなるべく使用しないこと
… Java です
0031デフォルトの名無しさん
NGNGg_は100歩ユズってよしとしてだ、
なんでメンバ変数なのにわざわざm_Hogeなんてつけるのさ?
見やすいとでも思ってるん歌?
0032デフォルトの名無しさん
NGNGおねいちゃんにティムポこすられてもがまんすること
0033デフォルトの名無しさん
NGNGおどりこにさわらないこと
0034デフォルトの名無しさん
NGNGかいしゃのトイレでヌかないこと
0035デフォルトの名無しさん
NGNGこういう勝手なこと外に見える部分でされると困る。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG警備から報告あったとき死ぬかと思ったぞ!!
カメラは全て見ているんだ!!
0048デフォルトの名無しさん
NGNGああ、見られてる・・ハズカシイ!
0049まもら ◆MtyDeTiY
NGNG規約
識別子名に「O」「0」「1」「l」「I」などの文字を使用しないこと。
補足
誤読の可能性を排除することで、ソースコードの可読性を向上させるよ
う心がけること。
0050デフォルトの名無しさん
NGNG人によって書き方違って修正が大変じゃないか、ゴルァ!!
0051デフォルトの名無しさん
NGNG記入事項
・変数の型 入力・出力の区別
・動作
等など
研修が終わると誰も、そんなことやってなかった
過去の記録は何もなかった
ある重要なプログラムにバグがあるので改修した
あとで、4年前にも同じ改修が行われていることが発覚した
同じプログラムのバージョン違いがあり、用途別に使い分けるのだが
どのバージョンが必要かは一部の人間しかわからない
おまけに日々、改造コードが発生している
ちなみに、コーディング規約は当方の部署ではやってません
0052デフォルトの名無しさん
NGNGキャストの括弧の後にスペースを入れるっちゅうのは何とかならんもんか?
誰もやってないだろ。
0053デフォルトの名無しさん
NGNGつい最近初めて見かけて、「どういう教育受けてるんだコイツ」と
思っていたところです。
0054デフォルトの名無しさん
NGNG>>1の趣旨からすると、規約にもりこんでも効率があがらない
規約をかけといっているのだから >>22はその意味で書いたのでは?
まぎらわしいから、今実施しているコーディング規約の場合と
意味がないとおもう規約は明記してください。
例 規約 メンバー変数はm_ とする
XXXXなのでやっても意味がない
たしかVC++ではデフォルトでm_となるようなきがしました。
クラスのメンバー変数はm_ とする については
設定した値はクラスないで有効になるのだから、グローバルとおなじで
多少は意味があるとおもいます。
0055デフォルトの名無しさん
NGNGプロジェクトマネージャ、ディレクターは神なので、
彼らが黒といったら黒である。
罰則規定
違反した場合、社内の特高警察に捕まって首になる。
さらに再就職を妨害される。
こういう会社が意外とあちこちにあるような…
0056デフォルトの名無しさん
NGNGハンガリアン記法の悪い点って何ですか?あるいはその他のいい点でもいいです。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG女のバグは体で償う。
006057
NGNGしかも狙ってたスレの100は他人にゲットされてるし。。。
0061デフォルトの名無しさん
NGNGプログラミングしない人が決めないで下さい。
スキルの低い人が決めないで下さい。
一人で決めないで下さい。
考えないで決めないで下さい。
調べないで決めないで下さい。
変なのを考え出さないで下さい。
0062デフォルトの名無しさん
NGNG男のバグも体で償う。f
0063デフォルトの名無しさん
NGNGint a,b,c,d,e;
こんな感じでいいんだYO!!
0064デフォルトの名無しさん
NGNG>>63はバカなコーディング規約例です。
0065デフォルトの名無しさん
NGNGA001,B002...
関数名も
A000101、A000102...
で、1関数1ファイル。
こないだF通の請けでこういうのがあったよ。ロートルアホ氏ね!
0066デフォルトの名無しさん
NGNGイテレータで使う一時変数程度なら同意i,j,k,l,m,n
0067
NGNGクラス名でそういうのは初めて見た。
0068デフォルトの名無しさん
NGNGメンバとかグローバルにそんなのあったら発狂するな
0069デフォルトの名無しさん
NGNGこれまだ見たことない。本当にあるのなら見てみたいな。
いったんコンパイルしてからデコンパイルしたらいいかも。
0070
NGNG0071デフォルトの名無しさん
NGNG多分クラスの暗号化(リバース妨害機構)の結果だと思われ。
0072デフォルトの名無しさん
NGNGA0002.java
…
A0227.java
B0001.java
B0002.java
…
B0328.java
C0001.java
C0002.java
…
もうね (略
0073デフォルトの名無しさん
NGNGリファクタリングブラウザが普及したら
簡単なマクロで一括変換できそう。
でF通にソースを渡すときにはマクロを実行するという決まりができる。
0074デフォルトの名無しさん
NGNGvoid foo(int x)
{
...
}
void bar()
{
int a;
a = 1;
foo(a); /* foo(1) と書いていない */
}
これってなんか意味あったのかな ?
0075デフォルトの名無しさん
NGNG0076
NGNG0077デフォルトの名無しさん
NGNGa=1;
ここでブレーク貼れば関数へ渡す前に引数を操作できる。
foo(a);
0078デフォルトの名無しさん
NGNGうちのが凄いぞ。インスタンス変数のprivate禁止。
0079デフォルトの名無しさん
NGNGclass Hoge {
String s1 = "";
String s2 = "";
Hoge(String s1, String s2) {
this.s1 = s1;
this.s2 = s2;
}
・・・・・・・
0080デフォルトの名無しさん
NGNGなんのなんの。
インスタンス禁止。全部静的メソッド&グローバル変数。
…だったらC++使うなよ。
0081デフォルトの名無しさん
NGNGそりゃ Hoge hoge = new Hoge(); のときのためでしょ。
0082デフォルトの名無しさん
NGNGいろんなところにstaticな配列がバッファで取られてた。
0083デフォルトの名無しさん
NGNG中にはほんとに意味不明なのもあるけど、大抵は
なんらかのメッセージが込められているんだから
その意図を汲み取ってほしいなぁ。
文句言う前にちっとは考えてみろ
0084デフォルトの名無しさん
NGNGあ、それよくハマったな。変数にしときゃ良かったっての。
foo() が自作ならステップインしてその中で変えりゃ良いけど、
DLL の中とかだと俺の手に負えん…
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGうんうん。一理ある。
だけどコーディング規約に理由も書いていてほしいな。と思う。
たとえば
規約 ローカル変数禁止
理由 俺がわからんから。
とか。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG環境の制限に基づいているなら、確かにそうなんだけどね。
プロジェクトの構成員がバカばっかりだから、そいつらでも
分かるように、というのも、立派な理由かもな…
最終的にはそいつら使って納品するしかないわけだし。
0089デフォルトの名無しさん
NGNGそれは常識では?
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGそのバカがバカな物を作らないため&バカを育てるための
コーディング規約だと思う。
バカにとってはいい決まりで、そうでないものにとっては
悪い決まりってあるのかな?
0092デフォルトの名無しさん
NGNG全ての定数は、マクロ定義すべし。
#define ONE 1
#define TWO 2
…。
0093デフォルトの名無しさん
NGNGfor(i=0;i<10;i++)
これも許さないってこと?
0094デフォルトの名無しさん
NGNGconstじゃいかんのか?
ん? そういうことではない?
0095デフォルトの名無しさん
NGNGC → C++ 移行時も、C → Java 移行時も「面倒だから」「スタイル変えたくないから」
「流儀がよく分からないから」という理由でコーディング規約引き継いでるプロジェクト
多々存在。だから Java で A0001.java や m_ とかも「馬鹿な規約」に入ると思われ。
0096デフォルトの名無しさん
NGNGそれは典型的な バカなコーディング規約 だね。
#defineされたらデバッガじゃ追えないから
constな変数に収めるのが通例だね。
0097デフォルトの名無しさん
NGNGprintf ("今年は %d 年です。\n", TWO_THOUSAND_ZERO_TWO);
0100デフォルトの名無しさん
NGNG>そりゃ Hoge hoge = new Hoge(); のときのためでしょ。
そんな生易しいアホさ加減では無い!
他のオブジェクトフィールドも全てnullで初期化するというルールや
intも0で初期化するというルールまであった。
ついでに各Collectionも使用禁止。
クラス名は全て小文字で書く事。
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNGそりゃ非道い
規約編纂者を火炙りにしろ
0103デフォルトの名無しさん
NGNG祭りというか、久々の良スレ。
0104
NGNG意味が違う。
for( i=0;i<96;i++){
とかで
#define connection_max = 96;
for( i=0;i<connection_max ;i++){
とするようにという意味だと思われ。
ソースの1箇所変更で全て変えられるようにという規約を誤解した新人の話。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGゼロも定数なんだけどね・・・ま、いっか。
その会社に幸荒れ!!
0107
NGNG0108デフォルトの名無しさん
NGNGむしろ enum だろ。
0109デフォルトの名無しさん
NGNGソースが完成しそうだなあ…
昔、ポリモルフィズム使用禁止、ダウン&アップキャスト禁止
ってのがあったな。
0110
NGNG俺規約だが何か?
0111デフォルトの名無しさん
NGNG#define CUG2 2
#define CUG3 3
とかやってたので
#include <hoge.h>
static const int GROUP_STAFF = CUG1;
static const int GROUP_CUSTOMER = CUG2;
static const int GROUP_ADMIN = CUG3;
…
if(user_group == GROUP_ADMIN){
…
}
とかやったら、規約に反しているという理由だけで書き直させられた。
いまだに納得が行かない。ちなみにこのソースの開発・デバッグ・テスト
全て俺担当。他人に触らせる予定なし。納品対象外ソース。
最終的にローカル変数 user_group も fUsrGrp に書き直させられた。
むかついた。
0112デフォルトの名無しさん
NGNGむかついたのなら、規約の方を改善するように努力すべき。
永遠にアンタが担当をするわけでもないだろ。
いつどこでだれに担当がかわってもいいように構えておくのが
PGとして最低限の心構えだ。
0113デフォルトの名無しさん
NGNGその1 RMI&CORBA使用禁止。
あのさあ…
0114
NGNG1)変数は全て小文字 アンダーバーで区切ること
2)インターフェースは最後の手段。全部変数にする。
3)配列名と[]の間はタブで空けること。
4)配列のつもりなら int name []
5)オブジェクトのつもりなら int [] name
6)両方混ざってるなら int [] name [];
0115デフォルトの名無しさん
NGNGときどき自分で思ったことあるけど、
改めて言われると納得。
デバッガに関数呼び出し時の引数を変更できる機能が
あると良いのかもしれない。
0116デフォルトの名無しさん
NGNGライブラリが信用ならないから使うな。
もし欲しければ同等の機能は自分で開発しろ。
という意味では?
0117
NGNG7)RMI&CORBAは最後の手段。
0118113
NGNGその3 オープンソースライブラリ使用禁止。
オイオイ…
0119デフォルトの名無しさん
NGNG0120
NGNG0121デフォルトの名無しさん
NGNGオープンソースというよりGPLだったのでは?
0122デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG害虫なので言うべき立場ではない。ちゅうかとっくにこの会社切ったけど。
害虫で切り盛りしてたんで、今の技術についてゆける社員いなくて倒産
一週間前らしい。Web サイトは三年前から更新されておらず。
0125デフォルトの名無しさん
NGNGGPLで配られているライブラリって商用には使えないんだっけ?
0126デフォルトの名無しさん
NGNG>うちのが凄いぞ。インスタンス変数のprivate禁止。
まえに何処かで、「privateは極力使うべきではない!」
と力説する人を見たことが有る。
0127113
NGNGちょっと心が痛いかも。
0128デフォルトの名無しさん
NGNG使える。ただし、中にいれちゃったらGPLものになるので
バイナリ納品先にはソースを公開する義務が発生する。
0129
NGNG9)社内ライブラリ使用禁止
理由:天才の俺様に他人のソース使えと言うのは屈辱である。
天才には天才のやり方がある。
かような一般PG向けのライブラリなどちゃんちゃら可笑しくて
使っていられないのである。
0130デフォルトの名無しさん
NGNGなんで使っちゃダメなの?わけわかめ
0131デフォルトの名無しさん
NGNGおそらくクラスを構造体の延長としてしか捉えてないからだと思う。
0132
NGNG忍者部隊月光ネタ。
0133
NGNG0134デフォルトの名無しさん
NGNG使えるものは使った方がいいとおもうよ。
くだらないデティールに拘って効率落とすよりは
バンバン既存のライブラリを使用すべきだ。
バグがあるかもとか遅いかも、というのは
まったく別問題で、そんなものはあとから
いくらでも潰せる
0135デフォルトの名無しさん
NGNG明確な機能区分がまったく出来てないライブラリは
使うべきじゃないけどね
0136デフォルトの名無しさん
NGNGコーディング規約はいいけど、コーディング規約
決めてるだけな奴はバカばっかし。
似たようなもんだな。
0137デフォルトの名無しさん
NGNGパフォーマンスの観点より:
1) synchronized 使用禁止。
2) メソッドには必ず static final をつけること。
3) extends は使用禁止 (サブクラス不可の意)。
…
会議中に資料読んでて突然 ( ´,_ゝ`)プッ
…
( ´,_ゝ`)ププッ
金の折衝がつかず結局プロジェクト離脱。後はこんな感じ
|
|__∧
|∀・)ニヤニヤ
⊂ )
| /
|_)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0138デフォルトの名無しさん
NGNGが、実装そのもの以上に如実に現れるんだな。
俺は絶対そんな立場にならないようにしたいな。恥晒す
だけの立場なんて。
0139デフォルトの名無しさん
NGNG苦肉の策だね。
VMの質を上げればいいんだけど。
VM開発なんてどこもやらないやれないしね。
0140デフォルトの名無しさん
NGNGあとはテストがしやすいように関数間の距離をなるべく空けさせるよう
指示した位かな。
0141デフォルトの名無しさん
NGNGsynchronizedがおかしかった事なんかないけどな。
使ってる奴がアホでデッドロック起こしまくって、追跡方法も
知らないで四苦八苦しているシチュエーションなら、死ぬほど
出くわすが…
0142デフォルトの名無しさん
NGNG癌は、命名規約作っただけ、モジュールに番号振っただけで開発物
管理した気になってる管理者だな。
0143デフォルトの名無しさん
NGNGウチには勤怠管理だけで役職手当貰ってるバカがいるよ。
0144
NGNG0145デフォルトの名無しさん
NGNGmainスレッドしか使わないんだよ、きっと。
後はマルチプロセス。JVMをforkしまくり。ゲゲ。
0146名無しさん@おひさまのよう。
NGNGうちもうちも
0147137
NGNGサーバサイドなんで、どうする気なんでしょうね。というか、書いた人が明らかに
Java 知らず、「Java パフォーマンスチューニング」あたりの生齧り知識を並べ
立てただけのようでした。もう完全にヲチモードです。多分 SingleThreadModel
を使うことになるでしょう :-P
0148デフォルトの名無しさん
NGNG完全なシングルスレッドじゃサーバは出来ない〜!
JavaはブロッキングI/Oしかないんだから、ソケットの監視ができないよ〜!
どうすんだろね。ほんとに。
0149デフォルトの名無しさん
NGNG今時マルチスレッドにたよっているお前が痛い。
ということにしたい?
0151137
NGNG協力会社集めて、なおかつリーディングも取ろうとしている会社です。もう発注元も
見切りをつけて次は他へ頼もうという気らしいです。いったい何を作る気なんでしょ
うね。そもそも extends しなきゃサーブレット作れないのに…。会議に参加した協力
会社の人達はみんな苦笑していました。金の折衝〜とか言いましたけど、本意は
キナ臭いのでさようなら〜です。
0152デフォルトの名無しさん
NGNGちく裏あたりで社名晒してくれよ。参考にするから。
0154デフォルトの名無しさん
NGNGソケット・パイプ使用禁止
プロセス間通信はファイルを使って行うこと
っつーのがあったな。ちなみに、ファイルの排他制御してなかった(なんだかなぁ)
1回目( ´,_ゝ`)ププッ もうアフォかヴァカかと・・・・
2回目(TдT)マズー 又来たよーん
3回目(-_-) 力関係を見せ付けられた・・・。逆らっても無駄・・・。
4回目(゚ε゚)キニシナイ!! そして彼は、かつて馬鹿にしていたアフォS∃に育っていくのであった。
0156デフォルトの名無しさん
NGNGこうやってパカは継承されていくの……。
ありがとう。怖い物を見せてもらいましたよ……。
0157デフォルトの名無しさん
NGNG変数名は混乱を避けるために、
変数を作った人の名前を必ず前につけること。
結果:
for( HayashiT_i=0 ; HayashiT_i <= 0 ; HayashiT_i ++)
名前空間?(笑
0158デフォルトの名無しさん
NGNGネタ?
0159デフォルトの名無しさん
NGNG会社名を明かす義務が生じたらしい。
明かせ。
0161デフォルトの名無しさん
NGNG>>83
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGどっちかというと転職は嫌いなので、遠慮しときます
0164デフォルトの名無しさん
NGNG絶対ネタだね。いくらなんでも信じないよ。
0165デフォルトの名無しさん
NGNG関数を短く纏めてればローカル変数にpだのszだのつける必要はないのにさ。
そういや、インクルードファイルからインクルード禁止っていう規約の会社もあったな。
0166デフォルトの名無しさん
NGNGびっくりしたよ。
0167デフォルトの名無しさん
NGNGが複数あると、管理できなくなるそうな・・・。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG.classファイルが増えすぎて管理しきれないってのは解る気がする。
俺の所もクラスファイル5000超えたし(藁
つーか、その為にパッケージが有るんだがな。。。
ウチの会社も理解できない奴が多くて困る(藁
0170デフォルトの名無しさん
NGNG規約:標準ライブラリでさえも使ってはならない。
0171デフォルトの名無しさん
NGNGdjb大先生ですか?
0172デフォルトの名無しさん
NGNGCだって.objファイルでなんか管理しないでしょ?
0173デフォルトの名無しさん
NGNGおまえら早く寝ましょう
0174デフォルトの名無しさん
NGNGCloneable使用禁止。
Serializable使用禁止。
間抜けなコピーロジック(クラス毎にシコシコ実装)とストリーム読み書き
ロジック(こっちもクラス毎にシコシコ実装)がコード全体の3割くらいを
占めている。
0175デフォルトの名無しさん
NGNG恐ろしくて使いたくないんだが、使わないと首。
「頼むからバグってませんように!」毎日両手を合わせて
ますが、裏切られる毎日。1年後には顧客(ノンバンクだか
らヤクザがらみかも…)に追い込み掛けられて首吊り自殺か
なあ…
0176デフォルトの名無しさん
NGNGふた〜つ、不将な悪業三昧、
み〜っつ、醜い浮世の鬼を、
退治してくれよう,桃太郎侍!
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGif (hoge == 0)
ではなく
if (0 == hoge)
とすること‥‥だそうだ。ハゲしく萎えたYO!
0179デフォルトの名無しさん
NGNG等のように変数,演算子,括弧の間は1文字空ける。
おかげで親指が勝手に動く癖がついたYO!
0180デフォルトの名無しさん
NGNGそれは一応意味は有るよ。
==を間違って=と書いたとき、
if(hoge= 0) だとエラーが出ずコンパイルが通ってしまう(&意図したとおりには動かない)が、
if(0= hoge) だとコンパイルエラー(定数には代入できないYO!)が出る。
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGでも a = b と b = a の間違いはチェックできないし、最近のコンパイラなら警告
出してくれるから、あまり嬉しくない気が。
0183デフォルトの名無しさん
NGNGC使ってた頃はよくやったが?
typoで if (0 = hoge)するとコンパイラが弾いてくれた。
小僧が書いたif (hoge = 0)で泣いた事、数知れず。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGよぉ〜つ、横にもハゲがある・・・
0186
NGNGOOだとクラスは爆発するもの・・・。
ひょっとしてOOで組んでます?
0188デフォルトの名無しさん
NGNGこまめにパッケージしようぜ
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGうちも同じく自社製データベースアクセスライブラリ以外使用禁止。
しかし、便利な機能など何も無く標準のデータベースアクセスライブラリ
(の一部)をラッピング&機能縮小しただけ。
便利な機能(?)といわれているのは接続するデータベースサーバを
指定しなくても設定ファイルからみるから楽だと。
おかげで二つ以上のデータベースサーバに接続できない。
しかも汎用と名前を付けてるのに読みに行く設定ファイル名は固定だから
プロジェクトごとに改造している。
あとトランザクション系のメソッドが無かった。
言ったら必要ないと思ったそうだ。もちろんつけさせたが。
他にも不自由な点がたくさん。
不自由な点を改善すると標準のライブラリとほとんど同じになるので
標準ライブラリを使おうといったら、「利点がない。」だと。
なに言ってやがる、自社ライブラリは、バグだらけ。汎用性がない。
機能が少ない。と欠点だらけじゃないか。
0191デフォルトの名無しさん
NGNGあーウチもウチも。コーディング規約とはちょっと脱線するけどね。バグだらけ+明らかなドキュメント不備。
結局、ウチら開発側がブラックボックスの中までステップ実行してバグや仕様を見つけてる。
1. 「○○より先に××呼ばなきゃだめなんか〜」
2. 「○○って必須なのかよ〜、どっから持って来んのよ〜」
3. 「DeleteMode って文字列なんだけど、保留するときは何指定すれば良いんだよ〜」
4. 「これの呼び出しで発行されるのって、この SQL だったんか〜」
5. 「なんで Get〜 呼び出すたびに毎回DBに SELECT 行ってんだよ〜」
6. 「じゃ Repeatable Read 必須やんか〜 デッドロック起こすんじゃね〜のか?」
等々、1 機能使うだけで大騒ぎです。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG「ソースファイルのヘッダ部には開発担当者の名前、住所、
メールアドレスおよび携帯番号を記述すること (厳守)」
会社から携帯もらってるの何人いたっけ… 俺の私物なんすけど…
いや、それ以前に何かがおかしい… 派遣いっぱいいるし…
0194デフォルトの名無しさん
NGNGコーディング規約じゃないけど、某所での話。お客さん側から
「サーバのアカウントを作成するので、既にファイルサーバで自分に
割り当てられている ID と名前、住所と年齢を記入してください」
という連絡があった。なぜ住所と年齢が? みんな訝しがったがとりあえず書い
といた。週末、俺のアパートに年齢特約のパンフ持った保険の勧誘員が現れた。
0195デフォルトの名無しさん
NGNG「えーと、アレ。モンゴリアン方式で。」
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGネタ決定。ネタだと思われたくなければ、理由を聞いてきてくれ。
0198デフォルトの名無しさん
NGNG先輩は「どうせコンパイラが型チェックしてくれるから、
妙な変数名付けるのに時間食うくらいなら、ほかのコード作れ」と言われた。
漏れの先輩はただのDQNか?神か?
0199デフォルトの名無しさん
NGNGm_sdafj;dl
みたいなm_
ってセンス悪いよね・・・
ダサい
そういうのを使ってるやつの服装は大抵ゲイツっぽい!?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG自分で変数名に型情報を付加するよりもコンパイラが吐いた型エラーを見て後から直すほうが時間がかかるのでDQN
0202デフォルトの名無しさん
NGNG代わりの案キボーン
ハッタリが利いてクールなやつを1つ
0203デフォルトの名無しさん
NGNGどこの会社でも無限バカが責任者になるですね。
並みのプログラミング持っていれば絶対しないことをしまくるですね。
0204デフォルトの名無しさん
NGNG代わりもなにもm_なんて使わなければいいだけだろ?
クラスウィザードで自動作成されようが、片っ端から削除。
こうしてソースの健全性は保たれた。
0205デフォルトの名無しさん
NGNG0206Ruby!
NGNG@をm_に変換するプリプロセッサをつくるとか。
0207デフォルトの名無しさん
NGNG>m_をつけてはいけない理由はない
それはm_を自作クラスにまで付けてる様な不感症ヴァカの理論だろ。
0208デフォルトの名無しさん
NGNG>>83
0209デフォルトの名無しさん
NGNG馬鹿発見
面倒だからですか?
0211デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGもうマム板で m_ の話はいいよ。最近来た連中は知らんのか。
だいたい揚げ足取る気満々なのみえ見えだし。
0214デフォルトの名無しさん
NGNGアホが、妙な接頭辞をクラスにつけることを強制している。
class a.aaa.AAAHoge
class b.bbb.BBBHoge
…イランだろ。
0215デフォルトの名無しさん
NGNG説明を要する時点で不感症ヴァカってこと。
0216デフォルトの名無しさん
NGNG全て自分でリプレースできるから良い。実はプログラマ天国だぞ。
0217デフォルトの名無しさん
NGNG定説って事ですね♪
0218デフォルトの名無しさん
NGNGそれは確か、xyzzyのLispモードで関数に色がつかない理由でしたね。
0219デフォルトの名無しさん
NGNGKenThompson_i、DennisRitchie_j、BillJoy_k
なんて変数があったら恐れ多くて変更できないYO!
0220デフォルトの名無しさん
NGNGKusakabeYouichi_i だったら間違いなく全回収だな。
0221デフォルトの名無しさん
NGNG>>215 説明ができないと、人を説得することは、できません。
ここ2chでのいいのがれは、一般社会では通用しません。
-----------------------------------------------------------------
m_は好みの問題だけど、VC++では一般にデータめんば−に
使用されているからしたがっています。
------------------------------------------------------------------
0223デフォルトの名無しさん
NGNG0224派遣@某製作所ソフト部門
NGNG・ラベル&ワーク変数の名付けには、変換テーブルを使用。
・構造体名&メンバ名は、別の変換テーブル&構造体毎の独自ルールを使用。
・変換テーブル&構造体の仕様書は、Excelワークシートで管理。(変換は全て手動)
例:×○部=ドキュソプログラマ → KY1 = DQNPGM
はっきり言うて、WinMe+64MB RAM でOffice2k 使って仕事するのはキツイ。
案の定スワップしまくりでHDが次々昇天してる。
修理代につぎ込むよりメモリ買えと言いたいが、派遣で新人の上
仕事が遅いので何とも言えん。
ちなみに自分の何倍も仕事が速い周囲の先輩方は、PCには疎い(PC自作程度で驚く)ので
環境が改善される見込みはまったくナシ。
鬱だ…
0225デフォルトの名無しさん
NGNG自宅というスコープに帰れば"お父さん"
会社というスコープに入れば"係長"
スコープでの役割に応じて呼び方は変わるけど、
たかだか、流行廃りのある処理の都合上、いじくる奴らの都合上
"m_鈴木太郎"とは呼ばれない、呼ばれたく無い。
設計書とコードで表記かわったらかなわん・・・
元ネタ知らんから蒸し返してスマソ。
鈴木太郎って誰だ?(w
0226デフォルトの名無しさん
NGNG俺の小学校の時の同級生だよ
0227デフォルトの名無しさん
NGNGWinMe+64MBにかすんでしまってるが、
> 変数名は日本語から連想されるアルファベット3文字の組合わせ。
これすごくないか?
int wndyokhab = this.Width; //WiNDow no YOKo HABa
とかするのか?
0228デフォルトの名無しさん
NGNGスコープがグローバルの場合g_で、クラスの場合m_で、関数の場合何も付けない。
まぁm_でなくてもこの三つが区別できればなんでもいいんだけど。
クラスと関数のスコープの違いについて意識することはあるので、
あった方が便利と感じているのだが。
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG生C++のときは、迷うけど、結局つけてる。つけて損は無いし。
0231デフォルトの名無しさん
NGNG言語処理上のスコープの違いを変数名につけちゃダメ
言語仕様の予約語privateとか使うのみ。
ってのが流行なのかな。教条主義な人たちは言語固有の型を表す
プリフィックスdw,sz,pなどもダメとおっしゃってます。
俺としてはそんな細かいことどーでもよくて、
開発プロジェクト内で決まり事が内容どーでもいいから
決まってればいいじゃないかぁーだな。
0232デフォルトの名無しさん
NGNG言語毎にいちいち変えるのしんどくない?
つかったりつかわなかったり、どーしようか悩んだり・・・
0234232
NGNGなるほどー、道理。
たまに(よく?)郷に入ってみたもののみんなバラバラってあるよね。
あたしたち誰についていったらいいの?と途方にくれるピグミン状態。
0235デフォルトの名無しさん
NGNGszはともかくdwやpは重要だと思うなぁ。
0237デフォルトの名無しさん
NGNG無限ループするから。
forは…?
0238デフォルトの名無しさん
NGNGもちろん禁止。
do〜whileに至っては減俸モノだ。
0239デフォルトの名無しさん
NGNG関数呼び出しは?
0240デフォルトの名無しさん
NGNGそれは許可。
よって、どうしてもforやwhileと同じ構造を作りたいときは
すべて再帰によって行うべし。
0241デフォルトの名無しさん
NGNGいつかはスタックが尽きるだろうし...
0242デフォルトの名無しさん
NGNGおかげで不必要にトリッキーなコードが続出。
0243デフォルトの名無しさん
NGNG10年以上前のヤツだけど。
俺はそんなもんには従ってなかったが。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG同一ファイルなりクラスなりに関数でくくりだすだけじゃん。
トリッキーになるのは、コーダがアホだから。
0246デフォルトの名無しさん
NGNG今は逆で、グローバルが遅くなるよ
(全てのケースには当てはまらないかも)
0247デフォルトの名無しさん
NGNG可読性が低くなりやすい再帰を禁止する方が、まだ分かるような…
0248無限ループしない?
NGNGmain(args);
}
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGStackOverFlow。
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG【問】
再帰のみで for、while、do〜while を実装せよ。 ( 5点 )
0253デフォルトの名無しさん
NGNGあるある。メソッド名にまでプレフィックスを付けようとか言い出しやがった。
さすがに阻止したが。
0254仕様書無しさん
NGNGワラッタ
0255デフォルトの名無しさん
NGNG関数型言語だと常識的なコーディングだが、C でやったら無茶苦茶に遅くなる
わな。(まさか末尾再帰の展開をしてくれる C コンパイラとか無いよな)
0256デフォルトの名無しさん
NGNGgccのコンパイラオプション参照。
でもgccだけで出来てもちっとも嬉しくないことに気づく。
0257デフォルトの名無しさん
NGNGあるよ。それも一般的によく使われているもので。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGint main(int argc,char ** argv){main(argc,argv);return 0;}
したら、せぐふぉった...
(´-`).。oO(なんでだろ?)
0260デフォルトの名無しさん
NGNGほんとだ。-mtail-call なんてオプションがあるのね。
0261デフォルトの名無しさん
NGNGそれはreturn 0;がmain()の後にあるから末尾再帰ではない。
よってスタックオーバーフロー。
0262デフォルトの名無しさん
NGNGピクミン
0263デフォルトの名無しさん
NGNGつーこった。
0264224
NGNGyes。実際には類似単語が多いのでもっと読みづらいが。
ちなみにコメントは半角カナだったり。(w
例:WNDYOKHAB = GMN.YHB /* ウインドウ ヨコ ハバ ハ ガメン ヨコハバ */
(全て大文字なのと、"横幅"の表記が2種類あるのは実例に基づく。)
でもこんなのはまだ序の口。
このソースをデバッガ無しでチェックせんとアカンのよ。(´д`;)
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGそれは罰ゲームかなにかですか?
0267デフォルトの名無しさん
NGNG同情を禁じえないよ。
0268デフォルトの名無しさん
NGNG規約であるところがなんともあれだが、
略称表記&何パターンかあるというのはありがちだな。
データベース絡みで特に。
kkk←KEIHIKAIKAKE(経費買掛)
kkk←KANRIKAIKEI(管理会計)
kmk←KAMOKU(科目)
kmk←KOMOKU(項目)
KEIHI, KH, KIH ←どれも経費
JSK,JISSEKI,JISEKI←どれも実績
SHOHIN,SYOHIN,SYOUHIN,SHOUHIN←どれも商品
:などなど
鬱だ。
0269デフォルトの名無しさん
NGNGもういっそ日本語にする、という手もある。
近頃は2バイト文字も許されるしね。
0270デフォルトの名無しさん
NGNGいちいち変数を記述するのに仮名漢をOnにしたり、offにしたり
するのは鬱陶しい。
0271デフォルトの名無しさん
NGNG素直に入力補完機能付きIDE使えや。
0272デフォルトの名無しさん
NGNG勘違いしやすいし、GREPやFIND使えないし、ろくなことがない。
そんなルール決めてる奴は、マトモなソース書いたことないんだろうなあ。
0273デフォルトの名無しさん
NGNG>bool ブール処理済み?;
>ブール処理済み? = true;
にたいして、どんな入力補完をすれば、
仮名漢をまったく使わずに済むんだね?
0274デフォルトの名無しさん
NGNGちょっと賢いIDE使えばメソッドやインスタンス等々の一覧が
メニューで選べるから、それでいいんじゃない?
まあ、いやなら日本語名を使わない選択肢もあると思う。
規約で 「日本語名を使うな!」 ならまだ判らないでもないけど
「日本語を必ず使え」 なんて言うわけ無いしね。
0275デフォルトの名無しさん
NGNG鬱になりそうなテクニックとして
boolean is生理;
public String get源氏名();
なんて頭にアルファベットをつけるとか(・∀・)
0276デフォルトの名無しさん
NGNG俺は結構長めの変数名をつけるほうなので、いちいち手入力してられない。
0277デフォルトの名無しさん
NGNG同意。
最初の一回にしても、コメントを書くのを止めればその方がタイプ量は
少なくて済む。
0278デフォルトの名無しさん
NGNGでも、マジメな話、日本語変数名ならプレフィックスよりサフィックスが
いいと思う。ジャパニーズ記法とでも名付けるか? (藁
0279デフォルトの名無しさん
NGNGプレフィックスの方が熱くていいんだけどなぁ
unsigned int 震えるぞハート(); とか
void 燃え尽きるほどヒート(); とか
0280デフォルトの名無しさん
NGNGboolean 生理かよ! = false;
public String 源氏名ゲトー(); みたいな。
0281デフォルトの名無しさん
NGNGString 源氏名取得()
boolean 生理?()
これはちょっと…
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG初めてVBのバリバリ日本語入りのソース見たときは鼻血でそーになったが、
作ったやつがあまりに平然としてたんで(以降コーディングスタイル変わらず)。
おれはソースの中に2バイト文字使うのは嫌なんだが
おれの考え方が古いだけなのか・・・
0284デフォルトの名無しさん
NGNGマジな話、タイプミスが無くなるという効能があるんだけど
どっちみち間違えなきゃイイ話で。関係ない話でゴメン
0285276
NGNGエディタの短文入力機能を使う。複数ソースでありがちな変数名の揺らぎもなくなって
いい感じだYO
0286デフォルトの名無しさん
NGNG日本語の方がしっくりくる場合もあるからね。
データベース系だと日本語は最近はポピュラーだったりする。
0287デフォルトの名無しさん
NGNG確かにね。クライアントの社内用語なんかだと、英訳しようもないし、ローマ字にすると
綴りが不安定になるし、いっそ漢字で・・・・ということも多いね。
0288デフォルトの名無しさん
NGNGまぁ、Viで日本語入れるのも慣れれば平気だから慣れの問題なのだろうか。
0289デフォルトの名無しさん
NGNGKOKYAKU_JYUSYO
とか書いたり、
KKYKU_JYSHO
だのとワケワカラン省略するくらいなら、
顧客住所
としてくれたほうが、開発成果物の信頼性増しそうだよな。
0290デフォルトの名無しさん
NGNG上が版画利案信者だから、pszとかつけてないだけでレビュー落ちた記憶がある・・
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG逆にレビュアを吊るし上げるぐらいの勢いで頑張ってくれ。
業界の明日を背負って立つ若人よ。
0294デフォルトの名無しさん
NGNGm_iBunpairitsuKauntaa /* 分配率カウンター */
m_iBunnpairitsuKauntaa /* エラー */
m_iBunpairituKauntaa /* エラー */
m_iBunpairituKaunta /* エラー */
せめてヘボン式かどうかくらいは決めてくれないか。
0295デフォルトの名無しさん
NGNGCounterはエラーなの?
0296デフォルトの名無しさん
NGNGエラーはeraaなの?
0297デフォルトの名無しさん
NGNG∧_∧__フムフム・・
( ´ー`/ /
( ,/_〇 ♪
| |旦 ♪ ∧∧ セッケイショ
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ(゚∀゚)ノ デキマシタ!!
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ( へ)
| | く
∧_∧ モンゴリアーン!!
|\ΦДΦ) /|
○ < ζ) < ○ 人人
| > 旦 > | < ∧∧ キュワアアアアア!!!
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ(゚Д゚ )ノ
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ( へ)
| | く
0298デフォルトの名無しさん
NGNG{
…
private:
int inagakiメンバー;
}
0299デフォルトの名無しさん
NGNG心臓マッサージをセルフで直にやっておきながら
自分は人間だとうそぶいた青年だっけ? 特技は雄叫び?
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0303
NGNGflash が正しいのでしょうか?それとも
flush でしょうか?
0304デフォルトの名無しさん
NGNG辞(略)
0305デフォルトの名無しさん
NGNG光に変換して目潰し攻撃をするならflash、
クソデータとして便所に流すならflushだな。
0306デフォルトの名無しさん
NGNGおまいらだったら、次のような項目を変数名やDBのカラム名にするとしたらどうするよ?
管理番号
部品番号
制作工程コード
制作工程区分
受注日
受注者
発注日
発注者
ちなみに漏れの会社だと
KANRINO
BUHINNO
KOUTEICD
KOUTEIKBN
JYUCHUDATE
JUCHUSYA
HACYUBI
HACYUSYA
なお、スペルミスではない。仕様書に確かにこう書いてある(w
文句言ったが「もう出来ているので今更変えられない」だそうだ。
0307デフォルトの名無しさん
NGNGおれなら、この例の場合なら 日本語のままだな。
ご愁傷様
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGmainのみで2kステップオーバーのプログラム書く奴が続出。
0311デフォルトの名無しさん
NGNG俺なら、簡単なプログラム一つ作って、納品前に関数ごとにファイルにバラすように
するかなぁ。。。
しかし、ネタでは聞いたことがあったが、そんな馬鹿な規約が実在したのか。static
変数/関数の意味がないやん。
0312デフォルトの名無しさん
NGNGやっぱコーディングできないSEか?
PGに作らせろや。
0313デフォルトの名無しさん
NGNG>受注日
>JYUCHUDATE
>発注日
>HACYUBI
・・・「〜DATE」と「〜BI」、どちらか一方に統一しようよ・・・
0314デフォルトの名無しさん
NGNG>JYUCHUDATE
じゅちゅうだって。なのさ。
0315デフォルトの名無しさん
NGNGstruct hoge {
int mngno; /* 管理番号 */
int partno; /* 部品番号 */
struct manufacturing { /* 制作工程 */
int code; /* コード */
int category; /* 区分 */
} manufacturing;
struct request {
char date[DATEWIDTH]; /* 日 */
char name[NAMEWIDTH]; /* 者 */
} receipt, client;
};
0316デフォルトの名無しさん
NGNGCなら#define KanriNumber "KANRINO"
VBなら Const KanriNumber= "KANRINO"
とかやってみたら?
0318デフォルトの名無しさん
NGNGってことになっていたのだが、几帳面にも81文字以上の場合
に必ず改行するやつがいた。
最近ディスプレイも良くなってきたので、規約の幅を広げたが、
それに合わせて(以下略)
0319デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG名前って、文字数制限とかがあるの?
0323デフォルトの名無しさん
NGNG「ソースを修正するときは日付を付加してバックアップを取れ」
ってのがあったな。
UNIX使ってるんだからSCCSくらい使い方憶えろYO!
お陰でHDがパンパンになりもがいてます。
compressすると日付が変わるからダメなんだそうな。
tarも使い方わかんないってさ。manは使えるのに・・・
ぜんぜん関係ないが、めちゃかわいい子に「マンコマンド」って言われてほわ〜んとなったよ。
0324デフォルトの名無しさん
NGNG2^32文字までとか
0325デフォルトの名無しさん
NGNG最後の一文がウケタ
0326デフォルトの名無しさん
NGNGm_* が美しくないという話はわかるが、「スコープを名前で分けるな」というのは意味不明。m_* は美しくないから *_ 使えというのは、スタイルの問題だから、どっちかに統一してくれればいいけど。
0327デフォルトの名無しさん
NGNG(宣言の時とかは除く)
0328デフォルトの名無しさん
NGNGSTanaka_ResetColorとか、コレ自体慣れれば以外と気に
ならなくなるが、オレの知らない名前が異常に多いのが気に
なった。社長しか知らないヤツが10人くらいいた。
勝手に名前変えて使ってるがバレると怒られる。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGVBじゃ使えん。VBではthisに相当するものはMeなのだが
PublicじゃないとMe.fooと出来ない・・・。
0331デフォルトの名無しさん
NGNG強制されるような文法だったらよかったんだけど
0332デフォルトの名無しさん
NGNGJavaやC#は結構this.つけるようにしてるよ。
0333236
NGNG同名になるだろう。
キャメルスタイルとパスカルスタイルで分けるくらいじゃ足りない。
(かといって小文字だけ or 大文字だけにアンダースコアは見づらい、書きづらい)
ローカル変数とメンバー変数とメンバー関数とプロパティと…って分けていくと
やっぱり m_* か *_ 使う方がわかりやすいという事になる。
0334デフォルトの名無しさん
NGNGプロパティとクラスで名前がぶつかったときは悩んだ。
ガイドラインではどちらもパスカルだし。
0335デフォルトの名無しさん
NGNG簡単でいいから教えてくれ。
0337333
NGNG意外とそういう場合ってあるんだよね。
漏れはそういう場合結局湾曲した名前にするんだけど、どうしてる?
public/protected な名前にはプリフィックス&サフィックスつけたくないし
(漏れは private な名前には積極的にプリフィックス&サフィックスつけてる)
0338334
NGNGprivate Phase phase;
public Phase Phase{get;set;} // コマタ!
こんな感じでねぇ。
結局プロパティのPhaseをCurrentPhaseにして決着したけど。
C++ではクラスはCから始めてたからこんなこと無かったのに。
0339デフォルトの名無しさん
NGNGpublic Phase CurrentPhase{get;set;}
みたいに意味を具体的にしてやれば?
0340デフォルトの名無しさん
NGNGMSが.NETで推奨している命名のガイドラインがMSのUSサイトにあるよ。
そこのNaming Guidelineには
Pascal Casing
Camel Casing
Upper Casing
の解説があります。
0341デフォルトの名無しさん
NGNGそこ消滅してた気がする
0342340
NGNGMS撤回か!?
全訳したのに。
0344デフォルトの名無しさん
NGNGあの場合はCurrentとかの修飾語をつけることが出来たけど、常にそうとはいかないよねぇ。
クラスとプロパティで同じ名前になるのは設計が間違ってるんだろうか・・・
0345デフォルトの名無しさん
NGNGintegerではオーバーフローするのでカウンタ変数をlong
にしても絶対「i」中途採用者はみんなあきれる。
0346デフォルトの名無しさん
NGNG別にいいじゃん。
0347デフォルトの名無しさん
NGNGintegerから来てるわけではないので、longでiでも別にええやん。
0348デフォルトの名無しさん
NGNGそんなところでいちいちあきれてる人たちが、まとめてヤヴァイと思われ。
ローカル変数のシンボルなんて、極言すればぶつからなきゃいいだけなので、
ルールがあるなら従うだけでしょ。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGむしろintのときはiでlongになったらlだったらもっとあきれる。
途中で型変更したらint l;になっちまう。
0351デフォルトの名無しさん
NGNGまじで、その中途採用の人と、その人を無邪気に尊敬している
アンタがヤバイと思うよ。気をつけなよ。
0352デフォルトの名無しさん
NGNGオレが出向してた会社なんて
「変数の名前は極力短くする」なんてアホな規約があるもんだから
変数見ただけじゃ目的がわかんねーの、コメントの嵐でコードが
読み難い。2度とあの会社のVBの仕事したくねー。
t as Long '単価
jd as date '受注日
sd sa date '出荷日
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGlong は long integer。
iはfortranの時代の名残り。
iから始まる変数は型宣言しなくてもinteger(j〜どこまでだっけ?)
>>326は設計手法やメタ言語などを学んでみては?
実装する言語に依存しないで設計する世界を知らないのか?
設計どおりに実装したこと無いのか?
ここだけみてるとプリフィックス*_付ける派が多いね。。。
小手先だけのプログラマが増えているのかなぁ。
0355デフォルトの名無しさん
NGNGm_付ける奴に付ける薬は無いので放置。
0356デフォルトの名無しさん
NGNGi,j,k,l だったかと
0357デフォルトの名無しさん
NGNGコピペするなって?ごもっとも。
0358デフォルトの名無しさん
NGNGだから、FORTRANがなぜデフォルトでi〜が整数だったのかは、iteratorのiだからというのが定説だってこった。
0360デフォルトの名無しさん
NGNG「とか言ってみるテスト。」
を付け忘れてるよ。学生さん。
0361デフォルトの名無しさん
NGNG理由もなく m_ を嫌う奴につける薬もないと思うね。
俺はメンバーなのかローカル変数なのかっていうのは区別するべき事だと
思うので m_ もしくは最後に _ つけるのは有効だと思う。
ループのカウンタは色々と試してみたけど、やっぱり長すぎても害かも…
座標とかの場合 nX, nY とかはわかりやすい。
個人的には cnt (カウンターの意), cur (カレントの意)くらいが
「意味があって」「長すぎない」バランスの取れた所だと思うな。
ライン
0362デフォルトの名無しさん
NGNGコピペは別にいいと思うけど、一括変換できないからやだね。
0363デフォルトの名無しさん
NGNGデバッグ時に苦労しないようなルールになっていれば、それでいいじゃん。
そういう意味じゃ、ハンガリアンは、趣味の問題ってことで。
で、for文のカウンタがiだと誰か困るのか?
どんなfor文書いてんだYO!
0364デフォルトの名無しさん
NGNGなんでカウンタを一括変換するんだ?
0365354
NGNG一つ賢くなったよ。
学生には戻りたくないです。>>360
普通にUML使って設計して、JavaとC++両方で開発してますが?
気が利いたこと言ったつもりなのかな?>>360
とか言ってみるテスト。
でよろしいでございますでしょうか?(w
0366デフォルトの名無しさん
NGNG別に困らないとは思うけど規約が存在するコトがダサい。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGいくらハイレベルで設計しても、実装するときには現実の言語のフレームワーク
に押し込める必要があるわけで、そこで
メンバ変数はローカル変数とは寿命が全く異なるから、見た目で分かるように
しておけ
っつーのは妥当な話だと思われ。
>>360 は現実の言語を忘れてハイレベルの議論だけするのは、アカデミックな世界
だけにしとけっつー皮肉だろ。(個人的には、メタ言語とかの世界にひたるのも意味
がないとは思わんが、現実と両天秤にかけられないヤツには用がない)
0369デフォルトの名無しさん
NGNGじゃあ会社辞めるか、上司を説得して規約変えろ。
喫煙所の談話好きバカ?
0370sage
NGNGってーのが定説?愛はどこまで掘り下がるんだ?(w
0371デフォルトの名無しさん
NGNG昔からよく聞いた気がするけど
iterator の i だっていう意見を聞いたのはここ2〜3年な気がする。
Iterator パターンからの連想な気がするな…。
0372365
NGNGつける|つけない のは意味が無いという方々より
とても素敵。
身の回りは、まぁつけないで現実うまく逝ってるよ。
現場(おれももちろんこっち側)とアカデミックな世界の
差っていつ埋まるのかね。
0373デフォルトの名無しさん
NGNG現場に何の功績も無い日本のアカデミックな連中は、現場に追いつく
ことも無く衰退するだろうねえ…
国立情報学研究所とか、物凄い人数使って今さらなもの作ってるし。
0374デフォルトの名無しさん
NGNG埋まっちゃ困ると思うんだが。
現場でやってるようなことを、いまさら研究してもしょうがないし。
0375372
NGNG研究成果がアカデミックすぎて現場で使えない。
予算や期間が限られてる現実無視しまくりとか。
現場がそもそも成果を覚える頭がなかったり気がなかったり。とか
こーいった差のつもりで書いてみたのですが。。。
0376デフォルトの名無しさん
NGNG日本でも「世界有数の」と冠詞がつくような研究者もいるんだけどね。NTT で
回線理論やってた某氏とか。(名前忘れた…)
0377デフォルトの名無しさん
NGNG現場っつってもピンきりだが、キリならそうだろね。
でもピンの現場は、会社同士で情報共有して、大金投資して、日本の大学なんか
の研究者とは比べ物にならならない、血に飢えた研究者どもが血道を上げてやっ
てるからな。
0378デフォルトの名無しさん
NGNG俺がいた大学の研究室にも世界で5本の指に入るって先輩が居たな。
世界で5人しか研究してなかったけど。
0379デフォルトの名無しさん
NGNGピンキリはピンが下でキリが上ですよ...
仕様書にソートはピンからキリの順でと書いて
あった時、間違えたりしないで下さいね。
0380デフォルトの名無しさん
NGNGヴァカ発見。広辞苑みて反省しる!
>ピン(pintaポルトガル 点の意味)
>1.カルタ・采の目などの1の数。
>2.はじめ。第1。最上のもの。
>キリ(cruzポルトガル)の訛。
>十字架の意から転じて、十の意。
0381デフォルトの名無しさん
NGNGそうなのか?
> 【ピン】
> 第一番。また、最上のもの。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG|∵∴∵|:::ー-ーーー-ー─ーー--ーーーー-ーー-ー,||
|∵∴∵|:::: 磯野家の系図 i ||
|∵∴∵|:::: ; ||
|∵∴∵|:::: 波平─-──┬─-──フネ :; ||
|∵∴∵|:::: │ | ||
|∵∴∵|:::: │ ; ||
|===|:::: 波平───サザエ ! ||===-3
|∵∴∵|:::: │ ; ||
|∵∴∵|:::: │ ; ||
|∵∴∵|:::: 波平─ワカメ | ||
|∵∴∵|:::: │ i ||
|∵∴∵|:::: │ ; ||
|∵∴∵|:::: タラチャン | ||
|∵∴∵|:::ーーー ーー- -ーー-ーー-ーー-ーー─ ||
 ̄■ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0384デフォルトの名無しさん
NGNG就労規則もねーし。
ボーナスもねーや。
0386デフォルトの名無しさん
NGNGつまり、コーディング規約も無いところには
誰も仕事出さないということか。
0387デフォルトの名無しさん
NGNGハッキリ言うなよ、貴様!図星じゃねーかよ(笑)。
開発者以外メンテできねーから納品後の評判がわりーんだよ。
でも、楽だから辞めません。31才年収300万でも辞めません。
カミさんに○ーソンでバイトさせてるけど辞めません。
0388
NGNGjとkは?
数学の方から来たと思ったんだが。
0389デフォルトの名無しさん
NGNG漏れ >>347 じゃないけど。
アルファベット順に i, j, k
i はもう使ってるから次の j
j も使ってたら次の k
昔の人はこういう考え方だから嫌だ。
これが「現場のやり方」?
だとしたら少しは研究者の成果を取り込まないとね。
(「ループ用のカウンタぐらいいいだろ」って言われそうだけど、
割れ窓理論でいくと、カウンタでこれを許容すると、他のものにまで
適応するバカが出てくるのは自然の流れだからね。)
0390デフォルトの名無しさん
NGNG>>65 とか >>72 みたいな、COBOLer あがりの親父が決めた
どうしようもないルールとか押し付けられる事を考えると。
カウンタの命名規約ぐらいマタ〜リとした雰囲気で許そう。
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGカウンタのめいめい規則に適用できる"研究成果”って何?
0393デフォルトの名無しさん
NGNGttp://members.tripod.co.jp/aspara_2000/Column/cooding.htm
なページが・・・
ウンコ踏んじゃった気分(鬱
0394デフォルトの名無しさん
NGNG座標系は x,y,z
何も問題なからおう。
0395デフォルトの名無しさん
NGNG・ピン 「最上のもの。 (広辞苑)」だから
・キリ
・諸説ありどっちが上かは謎
という意見がでて、ちょっと混乱してます
0396デフォルトの名無しさん
NGNG同情するよ。
0397デフォルトの名無しさん
NGNG帰り道ちょっと寒かったので自分の体の状況を完全に
把握できていなかったかもしれません。
アパートの階段を上り、家のドアを開けトイレのドアを開け
便器の前に立ってジーンズをおろそうとした瞬間、
全て放尿してしまいました。
えもいわれぬ瞬間でそのまま身をゆだねました。
新しい僕の誕生です。
0398389
NGNGいや、カウンタだけじゃなく、名前はすべて「意味のあるものを使おう」という事。
個人的には i は(こじつけの Iterator の略という事で)理解できるけど、
j, k と続けるのは理解できない、悪い慣例だと思う。
>>393
いや、中身はともかくスタイルはいいと思った。
【規則】【理由】【例外】【備考】にわけて書いてあるから
何故そうするのか、何に関しては適応外なのかがちゃんとわかる。
備考はいらない気もするけど。
0399デフォルトの名無しさん
NGNG二重ループぐらいだったらいいんじゃない。
たとえばバブルソートとかの。
さすがにkまで使うことはあまりないけど。
0400デフォルトの名無しさん
NGNGi, i2, i3...
0401デフォルトの名無しさん
NGNGコーディングルールについて真面目にかたろうとしたりすると、
こんな事にしかならないという意味かもね。
"あとから分かる事が出来れば、それ以上はどうでもいいこと"
ということでしかないからなあ。
0402398
NGNG「よりよいプログラミングの為のコーディングルール」
っていうのはみんな考えないの?
コーディングルールは「ただプログラマーを縛り付ける為の物」だとでも?
もしそう考えてるんだとしたら、哀しすぎる。
アセンブラだけを使いながら「高級言語?あんな物使えるか」
って言ってる人と同じな気がする。
0403デフォルトの名無しさん
NGNG法律を変える方法が決まっているように
コーディングルールを変える方法も決めなければならない。
法律を変えることができるのが法律に従っている国民であるように
コーディングルールを変えることができるのはコーディングルールに
従っているプログラマでなければならない。
0404デフォルトの名無しさん
NGNGその言語の仕様自体を理解していないあ、バカ管理職やバカSヨが
決めている会社ばかりだと思われますが…
(たとえそれ以外で有能であっても、これについてはバカである場合
が多そうです)こいつらの職責にすべきではないという話ですね?
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG0408403
NGNGその通り。常識的に考えるとできるわけないじゃん。出来るんだったら、
有名どころのコーディングルールの理由を説明してみろってんだ。
理由のない、もしくは不当なルールは悪。
ただし忘れてならないのは、今プログラマがコーディングルールを
決められないのなら、決められるように努力する責任があること。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGと聞いたことがあるので、lngCounter2 lngLoop2 などはどないでしょ。
慣例的にカウンタの変数名が長いと違和感あるけど。
しかし、デバッグ時なんかに理解しやすい変数名にすると、
一括置換とか微妙にしにくいんだよね。途中まで一緒の変数名とかあったり。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGリファクタリングブラウザが早く普及すればいいのだけど...
0414402
NGNGたしかにそうだね。で、具体的にはどうしたらいいんだろう?
「コーディングルール変更提案」をして「理由」を発表して
賛成多数なら変更?
民主主義だと権力だけはあるクソの方式が有力になる気がするのと
あんまりコロコロ変えられると、過去のソースと統合性が取れなくなって
余計に混乱する気がする。
やっぱり策定段階でわかる人達がちゃんと決めて、変更は慎重にしないと大変だと思う。
0415デフォルトの名無しさん
NGNGすごく興味を引かれる名前なんすけど。
0416デフォルトの名無しさん
NGNG全て赤外線通信で。
0417403
NGNG具体的にといわれると難しいですね。どんな方法も完璧は無いので、
とりあえず悪い方法は改善していくという考えで行くと。
> 民主主義だと権力だけはあるクソの方式が有力になる気がするのと
これの悪い所は民主主義じゃなくいですね。クソの方式は本来却下
されるから、悪い所は「権力だけはある」なので2ちゃんみたいに
匿名にするとか。
でも、悪い方法でも賛成多数で通る可能性があるのもいやですね。
人数じゃなくて賛成理由と反対理由の数で決めるというのはどうだろう。
> あんまりコロコロ変えられると、
そんなに、コロコロは変わらないと思います。たしかに始めのうちは
変わるかもしれませんが、どんどん良くなるので後になればなるほど
変わらないんじゃないかな。
> 過去のソースと統合性が取れなくなって
過去のソースと整合性が取れないというのは、ルールを変更しない理由の
一つになると思います。この理由と変える理由を比べて変えた方が
いいのであれば変えればいいんじゃないでしょうか。もし過去のルールが
悪いなら、悪いルールに従う方が問題が起こると思います。
それに悪いルールならソースの質も再利用できないくらい悪いんじゃないかな。
> やっぱり策定段階でわかる人達がちゃんと決めて、変更は慎重にしないと大変だと思う。
変更を慎重にするのは当然でしょう。プロジェクト中にちょくちょく変えては混乱します。
しかし、変えてはならないというのはもっと悪いことだと思います。
変更したい理由は通常プロジェクト開発中に発見されるので、それを書いておくといいかな。
あと最初は、変更するルールを賛成多数にしたとしても、
変更するルール自体もルールなので、これも変えられるべきじゃないかな。
とりあえず、完全な理想にするのは難しいだろうけど、少しでも理想に
近づいていこうと私は考えます。
0418???
NGNGVBにてif文禁止!
構造化にはifはいらんのだと。
よーわからん。
さ、出勤だ。
0419デフォルトの名無しさん
NGNGリファクタリングはコードを良いコードに改善することで、多くの改善項目が
ありますが、その一つに名前を適切なものに変更するということがあります。
手動(一括置換)でこれを行うには、同じ名前があったりして危険が伴います。
リファクタリングブラウザを使うと、意味的に同じものの名前だけを安全に
変更することが出来ます。
トライアル版だけ手に入れて試してないけどJBuilder6の有料バージョンに内蔵さています。
まだ名前変更くらいサポートされてないみたいだけど。
早くコードの同じ部分をくくりだしたり、長い関数を分割したりといった
テキストエディタでやるにはリスクが高い機能がサポートされないかな。
バカなコーディング規約で作られたものを簡単にまとも変更できます。
といって話を戻しておく。
0420デフォルトの名無しさん
NGNG> でもテキストエディタでやっちゃうんだなこれが。
テキストエディタでやってもいいけど絶対にバグを入れないよう
しかも早く修正することをお願いします。
0421デフォルトの名無しさん
NGNGあってソースにバグ入ったのを思い出す…
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGコンパイルしてくれと言われた。
理由を聞くと「あんた、コンパイラ信用できるの?」などと妙なこと
言われた。(w
そのくせ、VBはネイティブコンパイルなんだけどねぇ。
0424デフォルトの名無しさん
NGNG俺も似たようなこと言われたので「VC 付属のデバッグ用 DLL がないと
動きません。実機に VC は入らないですよね?」って言って納得して
もらった事があるんだけど、デバッグモードでも単体で動くなら俺が
間違ってた。
0425デフォルトの名無しさん
NGNGSelect Caseでやってみる
0426デフォルトの名無しさん
NGNGOn Goto/GoSubでやってみる
0427デフォルトの名無しさん
NGNGスタティックリンクはどう?
でも・・・デバッグモードって・・・
かなり遅くなるじゃん。
0428デフォルトの名無しさん
NGNG遅くなるんだっけ?
やたらと情報が詰め込まれて肥大するだけだと思ってた。
0429デフォルトの名無しさん
NGNGん〜〜前にテキストエディタ作ったときは1000倍くらい遅くなったかなぁ。
デバッグビルドしてることに気づかずに、何でこんなに遅いんだ〜〜ってしばらく悩んだ。
インライン展開が抑制されるし。ASSERT全部残るし。
0431デフォルトの名無しさん
NGNG/*
始点側の調整
*/
void
AjustLeft ( void )
{
int roop;
for ( roop = 0 ; roop < 2 ; roop++ )
{
AJUST_LEFT[roop] = 0;
}
中略
switch ( status )
{
case ACTIVE:
AJUST_LEFT[0] = ajust;
case NEGATIVE:
AJUST_LEFT[0] = 0;
}
}
特別に明文化された規約はないんだけど...
誤字と意味のない改行、空白...やたらと多いグローバル変数、引数のない関数
修正する俺の身になってくれ
0432デフォルトの名無しさん
NGNG俺の気のせいかもしれないけどダメな奴って誤字多くない?
俺もしょっちゅう指摘してる。
言葉なんてプログラム技術とは関係なさそうなんだけど。
0433
NGNG0434424
NGNGバックサポート用の開発も引きずられてそういう話になってたんだけど、
向こうの事情考えたら分からんでもないし。
結局、異常系含めて全フロー通すにはデバッグコンパイルが必須 ⇒
そのまま使うなら実機全部に VC が必要 ⇒ どうしまっか? という話を
して、お客さんが全フローを優先させたという話。
0435424
NGNG0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG文字コード表は可ですか?
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGいまさらだけど。
名前はすべて意味のあるものを〜ってのには同意だけど、
ループカウンターのi, j, kってのは語源はともかく広く使われてるし、
そういう意味では「i, j, kという名前には意味はある」と思ってる。
ループの中でiって出てきたら、これは多分ループカウンターだなって思うでしょ?
0440デフォルトの名無しさん
NGNGFEPはあり?
0441デフォルトの名無しさん
NGNGハンガリー人は、何のためにあんな変数名にしてるの?
0442デフォルトの名無しさん
NGNGJavaなどではそれほどでもないが、
CやC++などでは型に関する情報が重要になるときも多い。
あるデータが厳密に4バイトであるとき、
dw***などとしておけばいちいち宣言を確認する必要も無くなるし、
ポインタとそうで無い変数も、同じく厳密に区別されるべきなので、p**としたほうが都合がよい。
0443デフォルトの名無しさん
NGNGintが16bitだったりした頃は、lpszとpsz、iとdwの
違いは重要じゃったんじゃよ。
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGstring + zero って感じ?
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGデータを抽象的に捕らえる、ハードに密着するところはなるだけ局所的にする。
って考えが普及してない時代に考え出された技法。
いまだに喜んで人に薦めてるヤツがいるけど、害悪以外の何ものでもない。
0449441
NGNGList l = new ArrayList();
みたいなときは、どうするんだろう。
グチ、スマン。
0450デフォルトの名無しさん
NGNGw,dw,n,str/wndなどのオブジェクトの種類をあらわす接頭辞,p あたりはつけても罪は無いと思う。
要するに、型じゃなくて意味に注目したハンガリアンなら。
行番号=lineNumberよりnLineのほうが少しだけ記述量が少ない(藁)とか利点もなくも無いし。
shとかulなんか氏んでもいいと思うけど。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNGitem_ptrをpItemにするとか、そういうのはいいんだけど、
↓こういう厨房にありがちな、
http://www2s.biglobe.ne.jp/~maekawa/dev/kakikata/nobugs.html#NAME
十数種類も使い分けろってのは、手間のかかる割には効果はないんだよね。
(しかも独自ルールだし)
0455デフォルトの名無しさん
NGNGうん、たしかにそういうときはある。
さらっとソースを斜め読みしたいときなんかは特に
ポインタと変数の区別がつかない命名されてると
ちょっぴりイラつく。
0456デフォルトの名無しさん
NGNGMSのサンプルくらいしか読んだことないんだろ?
ハンガリアン使わない読みやすいコードってのが想像つかない。
0457デフォルトの名無しさん
NGNGリンク先、あえてfloatとdoubleを分けんでえーだろと思てしまう。
0458デフォルトの名無しさん
NGNGそれとクラスと構造体もわけんでえーだと思う。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGBYTEやDWORDなどの値重視の型やLPSTRまでカウンター変数として使ってるのが謎
0461デフォルトの名無しさん
NGNGどうでもいいのけど、そのサイト。
内容はオリジナリティーなんてちっともないのに、
リンクがどうとか権利がどうとかへんなところが細に細かいな。
(オリジナリティーが無いっていうかパクリっぽいところもちらほら)
0462デフォルトの名無しさん
NGNGprefix は有用だと思うな。あと C/C++ におけるポインタの p も。
実体なのか、参照なのかが名前でわかるとすごく楽。
あとはスコープを表す場合も有効。
メンバーフィールドは suffix の _ をつけるといい。
>>448
データ抽象ってもっとメタな視点の時に使う言葉だと思ってたんだけど。
interface/abstract class に ConcreteClass を対応させる時のように。
0463デフォルトの名無しさん
NGNGlist< Token* > *lplistlptokenInput;
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGハンガリー出身のMS社員が考えたっていうだけでハンガリー人みんなが使ってるわけじゃないでしょ。
ってマジレスしちゃ駄目だった?
0466デフォルトの名無しさん
NGNG多分、「こんな酷い事になるんだよ」って言いたいんだろうけど、
そもそもそんな複雑な物を表すのが間違いでしょ。
普通はそのシンボル自体が持ってる直接の意味くらいまでしか表さないよ。
0468デフォルトの名無しさん
NGNGlplistlptokenInput だけで5つくらい使うぞ。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGlpList_lpToken_Input
くそだな。
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG>lplistlptokenInputなんて、激しく読みにくいけど、
>しかしこういう名前をつけておくとこれだけ複雑な構造も変数名を見ただけでわかる。
他人がみたらアホかと思うぞ?
0473デフォルトの名無しさん
NGNG463はあえてハンガリアンの原則に忠実なので、実際にあんな変数名つけるやつはいない・・・と信じたい。
0474デフォルトの名無しさん
NGNG現実にいたらまずそいつの顔ぶん殴るよ。マジで。
出社するたびに。
つまり必要の無い人間って事なんだけど、通じるかね?
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG餅はOK。
0481デフォルトの名無しさん
NGNGチャールズ・シモニィ(Charles Simonyi)。
いまでもMSに在籍してるかどうかは分からない。
0482デフォルトの名無しさん
NGNGvim使いの俺が言うのもなんだが
0483デフォルトの名無しさん
NGNGvi の作者っつーと Bill Joy だが彼のソースはなんつーか凄いね。インデントが深
くなるとか、気にもしちゃいねぇ。(あれできちんと動くものを作ってしまうあたり、天
才なんだよな、やっぱり)
ともかく、ハンガリー記法について熱く語るのはそろそろ終わりにして、バカなコーディ
ング規約について話を戻さんか?
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG1 ファイル 1 関数とか、変数名は短くとか、他にも笑えるのがいくつか存在
したが。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGそいやVBにはGOSUBないなあ。
0488デフォルトの名無しさん
NGNG非構造化BASICならね。
0489デフォルトの名無しさん
NGNGたしかあったよ GoSub。プロシージャ内に収めるんだよ。
0490デフォルトの名無しさん
NGNG>ハンガリアンを無邪気に人に薦めるヤツって、まとまったコードは
>MSのサンプルくらいしか読んだことないんだろ?
>ハンガリアン使わない読みやすいコードってのが想像つかない。
最初の2行からは「ハンガリアン薦める奴は井の中の蛙!あんなの役にたたねーよ」というのがバンバン伝わってきますが、
最後の1行はどうみても「ハンガリアン万歳」ですね。
結局、あなたの意見はどっちなのよ。
0491デフォルトの名無しさん
NGNGハンガリアンを無邪気に人に薦めるヤツ が、ハンガリアン使わない読みやすいコードってのが想像つかない。
って意味なんだろう。多分。
0492デフォルトの名無しさん
NGNG456じゃないが、
(ハンガリアンを無邪気に人に薦めるヤツには)
>ハンガリアン使わない読みやすいコードってのが想像つかない。
ってことだろ。
まぁそう読むのが自然だろう。
主語の省略によって曖昧な文になる典型だな。
0493デフォルトの名無しさん
NGNG+んじゃねーの、
ってことでは。
0494デフォルトの名無しさん
NGNGってのがあった。Fc_請求データ作成実行、Fc_集計ファイル書込実行。
漢字はパンチするのが面倒でした。
0495デフォルトの名無しさん
NGNG'1
If A = B Then
'2
Call SUB_A
'3
Else SUB_A
'4
End if
0496デフォルトの名無しさん
NGNGで、どういう規約なの?サンプルコードだけではわからん・・・。
0497デフォルトの名無しさん
NGNGvimも結構凄いと思う。
さすがに3000行の関数とかは無いけど、
1000行クラスの関数ならいっぱい。
0498デフォルトの名無しさん
NGNGifで分岐する意味がないだろ
0499デフォルトの名無しさん
NGNGVB知らんのだけど。
0500デフォルトの名無しさん
NGNGコメントでステップNoふるのが規約なのかな?
0501デフォルトの名無しさん
NGNG確かに分岐する意味はないが、
規約の話とコードそのものが糞とは関係ないのでは?
この短さでツッコミどころが結構あるから、どの辺に注目すればいいのかが
わからんかったのよ。
>>499
そういうことなら、納得。
コメントでなくても行番号は付けられるけど、普通は付けないからなぁ。
0502501は496ね
NGNG0504デフォルトの名無しさん
NGNGどうやって行番号付けるの?
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGオープンソースのコードの場合は、全体的に見た場合の保守性の高さや、拡張性
よりも
とりあえず手を入れようと思ったときに、すぐに手を入れられる
っつーのが重要だったりするから。そうやって拡張を繰り返した結果として、ドラゴ
ンが棲んでるようなコードになることは、ままある。
(良い悪いじゃなくて、単に違うってことね)
sendmail も割とキテるよな。あれは過去のしがらみとかも引き摺ってるから、もう
どうにもならん。
0507デフォルトの名無しさん
NGNGなんかアスペクト指向プログラミングで聞いたようなネタだな。
0508デフォルトの名無しさん
NGNGネタでは無い。
入口はともかく出口はたくさんあるから大変よね。
0509デフォルトの名無しさん
NGNGああ、ネタというのはそういう意味ではなくて
既存のプログラミング言語だとうまく書けないけど、アスペクト指向だときれいに
書けるという話が出てた
っつー意味。即効性がある話でなくてスマン。
0510デフォルトの名無しさん
NGNG「コメントは話し言葉にしない」...ってアタリメーだろ普通。
コーディング規約以前に社会人としての常識だろ普通。
0511デフォルトの名無しさん
NGNGあのセリフはVF界では有名のようだが、ここで見つけるとは…。
0512デフォルトの名無しさん
NGNGそう?私は結構、話し言葉風になる場合があるけどな。
「機能拡張の時は、このクラスを継承するのではなく
IHoge インターフェイスを実装するクラスを変更して下さい。」
みたいな。
この場合は話し言葉じゃなければなんて書いたらいいんだろう?
「変更するべきである」とかかなぁ?
0513デフォルトの名無しさん
NGNG「たぶん」とか「一応」とか「思う」とか「大丈夫なはず」とか「いちかばちか」とかは
あまり書かないようにしましょう。
0514512
NGNG「いちかばちか」以外は全部、私の日常語で頻出する言葉なのですが、
さっきから私のPCに接続を試みてるのはあなたですか?
0515デフォルトの名無しさん
NGNGIHogeインターフェイスをば実装したるクラスを変更したまえ
0516デフォルトの名無しさん
NGNG「ココでガーって一括して配列にいれる」って感じ
でコメントしてるヤツがいた。
0517デフォルトの名無しさん
NGNGそれは話し言葉じゃないって。
機能拡張の時には、このクラスを継承するんじゃなくて、IHoge インターフェース
を実装するクラスを変更してね
こういうのが口語。
「だ・である」と「です・ます」は統一されていれば、どちらでも構わないでしょう。
個人的には、肩がこらない「です・ます」の方が好みですが。
0518501
NGNGなるほど!
495の意味が、今まさに点から線になったよ!
>>504
>>501 <==ジーンズ?
ジーンズです・・・なーんてね。
>どうやって行番号付けるの?
10 x = 10
20 y = 20
30 Debug.Print x + y
とか。そのまんま、古来のベーシックのように。
0519デフォルトの名無しさん
NGNG解りやすいじゃないか。
0520デフォルトの名無しさん
NGNGIHogeインターフェースを実装するクラスを変更すべきなり。
0521デフォルトの名無しさん
NGNGオレ516しまった、もしかして解りやすいコメントだったのか?
あの時は、ソフトに激怒してしまった。
なくなっちまったようだ。google のキャッシュには残っていた。
URL の`cooding'とか`rool'ってそれだけでも萎えることができるよ...
http://www.google.com/search?q=cache:g_3XMKq6LycC:members.tripod.co.jp/aspara_2000/Column/cooding.htm+%96%BD%96%BC%8BK%91%A5+%8C%A4%8B%86+%83J%83E%83%93%83%5E&hl=ja
http://www.google.com/search?q=cache:Q9eaDjb6rUsC:members.tripod.co.jp/aspara_2000/Column/rool1.htm+aspara+%83p%83b%83P%81%5B%83W%82%C6%83R%83%93%83%7C%81%5B%83l%83%93%83g%82%CC%92%E8%8B%60&hl=ja
http://www.google.com/search?q=cache:em52YipdD7oC:members.tripod.co.jp/aspara_2000/Column/rool2.htm+aspara+%83w%83b%83_%83t%83%40%83C%83%8B%8E%C0%91%95&hl=ja
http://www.google.com/search?q=cache:x8g9YoYjgc0C:members.tripod.co.jp/aspara_2000/Column/rool3.htm+aspara+%83C%83%93%83v%83%8A%83%81%83%93%83e%81%5B%83V%83%87%83%93%83t%83%40%83C%83%8B%8E%C0%91%95&hl=ja
http://www.google.com/search?q=cache:foC37rns47gC:members.tripod.co.jp/aspara_2000/Column/rool4.htm+aspara+%83N%83%89%83X%92%E8%8B%60&hl=ja
(実質的に空っぽ http://www.google.com/search?q=cache:rM40KragSrIC:members.tripod.co.jp/aspara_2000/Column/rool5.htm+aspara+%82%BB%82%CC%91%BC%82%CC%8D%5C%90%AC%91%CC%82%C9%82%C2%82%A2%82%C4%82%CC%8BK%91%A5&hl=ja)
http://www.google.com/search?q=cache:Qsq-nS5KNasC:members.tripod.co.jp/aspara_2000/Column/rool6.htm+aspara+%95W%8F%80%89%BB%96%BD%96%BC%8BK%91%A5&hl=ja
0523395
NGNG0524デフォルトの名無しさん
NGNGロープは`rope'。
`roop'だと、`roup'の同義語で「や鼻孔から粘液の出る家禽のウイルス性伝染病」という意味だよ。
0525コピペ間違いの524
NGNG0526デフォルトの名無しさん
NGNGたぶんCommand_Clickとかを受け取るな、じゃなくてクラスから
イベントを発生させるなという意味なのだろうけど、
ほう、どうやってクラスからイベントを通知するんだ。
こうなったらフォームにインタフェースImplementsしてクラスに渡して
呼び出してやろうかと。文句いわれるつもりで見なかった振りしたけど
何も言われなかった。反論するつもりだったのに残念。
0527デフォルトの名無しさん
NGNGあれもあったほうがいいかもな〜
デバッグしやすいぞ〜
ラベルとか嫌いヽ(^。^)丿
0528デフォルトの名無しさん
NGNG邪魔だから。あまりにも非効率的だから無くなった。
0529デフォルトの名無しさん
NGNG全部の行に番号を振ったところで、ほんとに使うところは一部分だしね。
使う部分だけに「関数」とか「ラベル」として名前を振った方が見やすい。
…ネタニマジレス だな。
0530デフォルトの名無しさん
NGNGネタにマジレスすんな
0531デフォルトの名無しさん
NGNGネタにマジレスするネタなんだよ。
(当方、再帰適用可能)
0532デフォルトの名無しさん
NGNG「ム板公認! まともなコーディング規約」ってのを
作ってくんない? 俺、アマグラマだから、その規約に
従うからさ。
05332ch公認コーディング規約
NGNG05342ch公認コーディング規約
NGNG05352ch公認コーディング規約
NGNG05362ch公認コーディング規約
NGNG0537デフォルトの名無しさん
NGNGつうか行番号表示するエディタ使えばイイ
0538デフォルトの名無しさん
NGNGVBの場合、エラーが発生した行を特定するために行番号を「プログラマが」付ける必要があるのよ。
0539431
NGNG>524
タダ単にloopのつもりでroopって書いてると思うけどね。
変数はほとんどグローバル
関数に引数、返り値なし
行数稼ぎの空改行
意味なく広いコメント欄
2値しかないのにわざわざswitch使うとか
ループカウンタはroopだし、複数使う場合は配列だよ
誤字とか意味の取り違いは結構多いよ
AJUST -> ADJUST
ROOP -> LOOP
ACTIVE<->NEGATIVEはACTIVE<->INACTIVEかPOSITIVE<->NEGATIVEだろ
普通にTRUE<->FALSE使えよ
0540デフォルトの名無しさん
NGNGツリーじゃなきゃいいんだろってことで片枝しか使わないツリー作ってた。
ヒネクレモノでごめんなさい。
0541デフォルトの名無しさん
NGNG×ツリーじゃなきゃ
○リストじゃなきゃ
あいーん。
0542デフォルトの名無しさん
NGNG分かりにくくなるから?
俺がバカで分からんからだろ。
0543デフォルトの名無しさん
NGNGVBってどうしてそう2chでつっこまれる要素満載で作ってあるんだ?
不思議だ。
0544デフォルトの名無しさん
NGNG構造体を使わないって言うのは、何気に同意できる規約だな。
どうせクラスにしてしまうんだし。
Win32APIで使う構造体は別として。
0545デフォルトの名無しさん
NGNGマジレスすんのも何だが、
a) COBOL→VBに移行した連中が設計をする。
・当時の環境(VB4等)
・新しい技術に興味なし
・コピペ、力技大好き
b) 曖昧な言語仕様に慣れた連中の製造
・新しい技術に興味なし
・考えるのが苦手
・動けばオケ
if(a==true || b==true){
return ツッコミ;
}
0546デフォルトの名無しさん
NGNGを見て思い出したんだが
(1) if(a==true || b==true){
って、
(2)if(a || b){
でも一緒だよな。
でもな、俺のいたプロジェクトでは、(1)のように書けという
コーディング規則があったんだよ。
ちゃんとaとbの変数名を工夫すれば、
わざわざこんなことしなくても分かるよ……とか思った。
同じようなコーディング規則ある人います?
0547デフォルトの名無しさん
NGNG違うんでは
0548546じゃないですが。
NGNGいいのでは?
0549デフォルトの名無しさん
NGNGa, b が bool じゃないとか、実は C++ で operator==() が定義されてるとかいう
非常識な自体を除けば、全く同じ。可能な組み合わせは
(a, b) = (false, false), (false, true), (true, false), (true, true)
しかないんだから、それぞれの場合について (a == true || b == true) と (a || b)
の値を紙に書き出して比較してみ。
0550デフォルトの名無しさん
NGNGただし Xxx は肯定形で。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG今更ながらつっこませてもらうが、そのコードは超危険だ。
a==true
でtrueの定義ってなによ?
0553デフォルトの名無しさん
NGNG条件式で書けって奴。しかし期待に反して厨どもがこんなコードを
大量生産した。
if(a != true)
if(b != false)
微妙に読みにくいし…
0554デフォルトの名無しさん
NGNGC/C++ はね。Java の話か、言語実装抜きな話なんじゃないの?
0555デフォルトの名無しさん
NGNGきっとHoge言語。==はくどいの意味。
0556デフォルトの名無しさん
NGNGassert(a==true||a==false);
↑これをコードじゅうにばらまいとけ
0557デフォルトの名無しさん
NGNGカナーリワラタ
ギャグでも思いつかん。吉本芸人並だな、そいつら。
0558546
NGNG>>547 >>552 の言う通り、Javaの話です。
全然違う言語育ちのプログラマが集まった、
Cで実装するプロジェクトで、
真偽値の型名の定義でもめた話もどっかで聞いたなあ。
BOOLかbooleanかBooleanかboolか。
そんなもん、リーダーがばしっと決めればいいことだと思うんだが。
0559デフォルトの名無しさん
NGNG>そんなもん、リーダーがばしっと決めればいいことだと思うんだが。
リーダーからして「へっ?booleanって何?ねぇ何?」とか言ってそう。
0560リーダー
NGNG0561リーダー
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGム板公認は不可能。
コーディングルールなんてものは、あるものを開発する
チームなりコミュニティなりで合意&共有されてればそれで
OKなもの。
MSはハンガリアン、JavaはJavaなり。GNUはGNUのルールと。
絶対的な価値があるコーディングルールは存在しない。
存在すると思うのは間違い&幻想。
0566224
NGNG最近腐ったコードばかり見てるので、アホな事抜かしてるかもしれんけど。
・public メンバはスコープを付けて使う事が多いから、m_は不要と言うより邪魔。
それ以前に一部の例外を除いてメソッドだろうし…(メソッドには付けんわな)
・protected メンバは多重継承を用いた場合、定義位置を容易には見つけられない場合がある。
そんな場合に備えてオブジェクトにはm_を付けておくと良い事があるかもしれない。
(grep一発でprotectメンバ列挙等。)
・private メンバの定義個所は簡単に探せるのでprotectメンバほどm_の必要性は無い。
むしろprivateメンバには付けない方が、protectメンバに付けた時のメリットが増す。
個人的結論:
protectなメンバオブジェクトに限って、m_を付けるメリットは(少し)あるかも。
0567デフォルトの名無しさん
NGNGjava 限定の話だけど。
0568デフォルトの名無しさん
NGNG>private メンバの定義個所は簡単に探せるので
探す事自体がウザいのだけど…。見た瞬間に判断したい。
>privateメンバには付けない方が、protectメンバに付けた時のメリットが増す
m_ にこだわってるけど、区別するという意味なら protected には p_ とか
別の物をつければいいと思う。
0569通りすがり
NGNG瞬間コンパイルと考え合わせると、
エラーを見て訂正、と、
型情報付きの名前を考える&それを使用箇所全てでタイプ、の
どちらが「時間を食うか」だと微妙だなあ…
0570デフォルトの名無しさん
NGNG0571新規約
NGNGBooleanはボーリアンと発音すること。
#昔ボーリアンがボーリアンがと連発する人がいて、何かと思ったら
#booleanのことだったよ。今では彼も博士号取ったかな?
0572デフォルトの名無しさん
NGNG1.変数名の先頭を合わせること。
2.ポインタの宣言*は変数名につけること(型名につけるのは禁止)
これによって、
char *foo;
unsigned long bar;
と書かなければならないのだが、そうするとtabだけでは合わせられない。
0573デフォルトの名無しさん
NGNGずれた。
char *foo;
unsigned long bar;
これでどうだ?
0574デフォルトの名無しさん
NGNG久々のヒットだ。面白すぎ。
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGインデントをそのようにしておかないと診断ツールが警告を
出すので、ツールに合わせろとさ(欝
その診断ツールを作った奴の基準は何なんだろう?
「COBOLやFORTRANはカラムの規定がしっかりしていて美しいなあ」のような基準だと思われ。
0578デフォルトの名無しさん
NGNG(python風インデントのC++トランスレータとか実装してたら笑うが。)
0579デフォルトの名無しさん
NGNGなるほどねぇ。何だか警告コメントには、変数名の位置が揃って
いないと可読性が低下して、誤りを招く恐れがあるとかないとか
あったような。
こういう人間はコラムニストと呼んでよいのでしょうか?
0580デフォルトの名無しさん
NGNGビジュアル系の経験しかない連中が規約にケチつける。
0581デフォルトの名無しさん
NGNGおありなのでしょうか? どんな人がどんな規約にど
んなケチをつけたのか知りたいなぁ。
漏れも規約づくりをしているけど、守る人はきっちり
律儀なまでに守ってくれるし、守らない人はそもそも
規約すら読んじゃいないし、はっきりわかれるねぇ。
0582傍観者
NGNG0583デフォルトの名無しさん
NGNGFORTRAN 時代の規約とか?
0584傍観者
NGNG機械語でなければ、問題ない。
0585デフォルトの名無しさん
NGNG思えませんが。
0586傍観者
NGNG0588傍観者
NGNG自分で規約つくって運用しはじめたら分かるよ。
同業者にオープンな世界でレビューされておらず運用実績もないような規約は脆い。
最終的に偉大な先人が作った規約がやっぱり良かったんだという場所に落ち着く。
0589585 (587)
NGNG偉大な先人も、最初は自分で規約をつくって運用しはじめたんじゃ
ないでしょうか。たしかに実績は重要な要素だと思いますが、
それに拘っていては議論が進展しないし、レビューもされないと
思います。
0590傍観者
NGNG今さらコーディング規約なんていう次元から始めるなんて
商業プログラマとして生産性わるいですよ。
0591デフォルトの名無しさん
NGNG偉大な先人も最初から偉大な先人じゃあるまい。
0592デフォルトの名無しさん
NGNGよく見るんだけど
↓こんなのとか
/* 20020214 muneo delete start */
/* *p = 'A'; */
/* 20020214 muneo delete end */
/* 20020214 muneo add start */
if (*p == 'A') {
/* 20020214 muneo add end */
c = 0;
/* 20020214 muneo add start */
}
/* 20020214 muneo add end */
俺のまわりだけ?こんなアホなことやってるの
二重三重に修正コメントが入ってたりして、わけわかんない。
しかもその部門でCVS使ってたりするのが、もっとわけわかんない。
0593224
NGNGでも金融系@汎用だから未来永劫変わらんかもな。(´д`;)
某銀のバグ騒動は他人事じゃないヨ…
(実際他人事じゃないという噂も…ウヘ)
0594585
NGNG588 と書いてありますが、たぶん私の事だと考えてお答えします。
(長文で申し訳ありません)
個人的には、コーディング規約というのは生産性を高めるために
作成するものだと考えています。生産性を高めるのが目的なので、
個人のニーズにフィットするように改変もしくはゼロから作成
するのは自然な事だと思います。
先日、私は Perl プログラムを書きました。Perl の文法は一部を
除くと C に似ているので、偉大な先人が考えた GNU coding を
使用しようと考えました。GNU coding standard では中括弧は
一旦改行してから開くのですが、Perl では if、while の本文が
単文であっても中括弧を必要とするので、大量の「開き中括弧
だけの行」が作成されてしまいます。そこで私は GNU coding を
自分に合うように改造し、中括弧を条件式と同じ行に置くように
しました。(「本文 if 条件式」 という文法もありますが、条件式
を強調するために前に出したかったのです。)
もちろんこれは全ての人にフィットするものではありませんから、
590 さんが大量の「開き中括弧だけの行」を作成するのも自由です。
しかし結果として、その改変版 GNU coding を使用することによって
ソースプログラムの見た目は開発者にとって綺麗に見えるように
なりました。それはつまり、正産性が向上したといえるのです。
0595デフォルトの名無しさん
NGNGいろんなスレでしょーもないこと言って荒らしてるから。
0596デフォルトの名無しさん
NGNGガチガチの規約は不要だと思います。
0597デフォルトの名無しさん
NGNGんじゃ、オブジェクトをプログラミングするにあたって
規約は存在しないのか。
0598デフォルトの名無しさん
NGNGチームで作るにはチームのニーズ。
チーム内のルール決めるときに偉大な先人の考え適用するのもあり。
未来永劫つーかソフトウェアのライフサイクル内で、ある特定の
個人が開発、メンテをやり続けることができるのであれば、
ガチガチの規約は不要。だが、趣味のプログラムで無い限り、
ソースコードは人手に渡る。
0599デフォルトの名無しさん
NGNGそうゆうコトですわ。
ごく稀に自分が必要とされたいが為に、複雑怪奇に
記述するヤツもいるが。
0600デフォルトの名無しさん
NGNG開発チームとしての生産性>開発後のメンテナンスの生産性>
個人の生産性(個人が考えている生産性)の順の要素の複合ですね。
個人のニーズは一番後回し。
0601224
NGNGそうは思えん…
とりあえず>>224 と↓の458見てクレ。
http://pc.2ch.net/test/read.cgi/tech/1007949218/
少なくとも今の職場の規約は生産性向上どころか、著しく低下させとるとしか思えん。
…でもなぜか周囲の先輩方はスゲー速度&精度で仕事をこなしてるから信じられん。(-_-;
奴(ら)は化け物かッ!?(シャア口調で)
0602デフォルトの名無しさん
NGNG>記述するヤツもいるが。
かの名言にあるとおりだな。
「本当に必要な人材は、いついなくなっても大丈夫な人材だ」
パラドックスだ。
0603デフォルトの名無しさん
NGNGインデントとか括弧の位置は、それぞれ勝手に作って、
まとめるときにフォーマッター一発かませばすむ程度の問題。
c,c++だとCVSなどにcheckinするまえにindentしる!
emacsでindent-regionしる! など。
変数名とかif文の条件式はどー書くなどの中身のルール決める
方が重要。
0604
NGNG0605デフォルトの名無しさん
NGNG言語はなんだ。
Javaとかだったら、当たり前だが。
0606600
NGNG読んだよ。昔の制約がある頃の仕様を引きずってる気もするが、
ルールとしては某製作所より多いところが山ほど(藁)
先輩方はルールを覚えて自在にやってるだけでしょう。
覚えるまでは大変だろうけど、覚えてしまうと悩まなくてすむ。
考える楽しみはぱっと見減るけど、本当に考えないと
いけないロジックとか実装とかに集中出来るメリットがある。
汎用機TSSのエディタはそんなもん。
ちょっと気が利いたところだと、PC上でコード書いて、端末エミュの
ファイル転送でアップロードして使ってるね。
0607デフォルトの名無しさん
NGNG昔は正直、長いロジックを見てうっとりしてた。
C++になってから、自己陶酔できなくなった。
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNGループのスタートとエンドが数値的に連続した範囲でかつ
移動ステップが固定の場合というか順番に処理を行う場合は
for(i=0; i<10;i++){}
ループ内で一定条件そろうまで回す場合は
while(status == true){}
do か whileかは処理内容依存。
0610デフォルトの名無しさん
NGNG全く同じループだったら、どの回し方が一番高速なんですかね?
0611デフォルトの名無しさん
NGNGfor文を展開するオプティマイズがある場合は、
forが高速なのでは?(当たり前か・・・)
for (i = 0 ; i < 2 ; i++) { a+=i }
を
a+=0; a+=1 ;
てな具合に展開。
0612デフォルトの名無しさん
NGNG↑先週授業でならった。
0613デフォルトの名無しさん
NGNGどこでも通用するように教えた先生反省しる!
0614デフォルトの名無しさん
NGNGもっと言ってヤレ。
実務経験のない先生様はかわいそうだね。
0615デフォルトの名無しさん
NGNGそのガッコはVB専門がっこだべ?
0616デフォルトの名無しさん
NGNG612が部分的にしか聞いてなかったという可能性もあり。
>>612
おそらくVBなんだろうが・・・
なぜ高速になるのか、理由を説明してみ。
そこを理解していないと意味ないぞ。
>>602
名言かどうかはともかく、言いえて妙だな。
0617デフォルトの名無しさん
NGNG設計やロジックの見直しで行われる。ForがいいとかLongに
するべ、というようなところまで踏み込むのはかなり特殊
というか少数というか、極限というか・・・
0618デフォルトの名無しさん
NGNG素直に的外れと言いましょう
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGそもそも開発環境下だと Long より Integer のが早いぞ。
(コンパイル後は Long の方が早くなるが)
0621デフォルトの名無しさん
NGNG主語、述語が逆転しちまうんだよな
CodeSearchじゃなくてSearchCodeとかな
今は
Code.Searchだから逆転することはないが
どうでもいいことだな
0622デフォルトの名無しさん
NGNG>Code.Searchだから逆転することはないが
codeがserachするのか
中学英語やり直したほうがいいよ
0623デフォルトの名無しさん
NGNG日本語だと目的語‐述語の順だけど、
欧米語だと述語‐目的語が普通だわな。漢語もそうか。
主語が省略されてることが多いのは日本語的だが。
まあ、どうでもいいことだけどな。
0624デフォルトの名無しさん
NGNGLongがIntegerより遅くなるなんてはつみみです。
0625デフォルトの名無しさん
NGNGtarget.search(code);
かな。
0626デフォルトの名無しさん
NGNGCode.search(引数)とかでいいんじゃないんですか?
0627おい、お前ら
NGNG0628デフォルトの名無しさん
NGNG別にいいじゃん。
一貫性があれば大抵おっけー
そんなところで労力を使う方が問題あり
0629デフォルトの名無しさん
NGNG0630傍観者
NGNGループに入る前に回数が決定しているもの。
Do
ループの処理により回数が決定するもの。
これは規約ではない。正しい使い方をしらないだけと思われ。
ちなみにForの方がDoループより確実に高速。
処理系依存とかいっている奴はおかしい。
Long と Integer は処理系依存。動作するPCのハードウェアにも依存。
0631デフォルトの名無しさん
NGNG> 動作するPCのハードウェアにも依存
PCのハードウェアによって Long や Integer のサイズが変わるのか…
0632デフォルトの名無しさん
NGNG黙ってみてるのが傍観者。
静かにしてろよ。
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGクラス内のコードでメンバ関数を実行するとき、
Cfoo::Cfoo()
{
this->Initialize();
}
という感じで、必ずthisを付けます。
普通の関数と見分けやすいので、こう書いてますが変ですか?
0635傍観者
NGNG>631
変わらないに決まってんじゃん?
それと、632には喋ってないよ
0636傍観者
NGNG変じゃない。よい習慣。
0637634
NGNG他の人の書いたコードで同じ事している人見たことないもんで・・。
MFCのソースなんかも普通に呼び出してるし。
0638傍観者
NGNG俺が間違ってた。ハードウェアには依存しない。
0639デフォルトの名無しさん
NGNG凄く変。
0640傍観者
NGNGInteger (16bit)
Long (32bit)
という処理系があったと仮定する。
16bit CPU のPC でどっちが早く動きますか?
32bit CPU のPC でどっちが早く動きますか?
>631=638
見当違い。
>639
理由は?
0641デフォルトの名無しさん
NGNGそれ、結構多いですよね。
0642634
NGNGやっぱ変ですか?
普通の局所変数に
void func(void)
{
auto int i;
}
とするのと同じ位変ですか?
それと、あなたがthisを書かない理由はなんですか?
0644傍観者
NGNG0645634
NGNGほー!? 多いですか!!
知らなかった。
自分は、アマチューワなんで回りの状況が良く分かりません。
少なくとも、自分が今まで見た他人のコードでは見た事なかったんで。
0646デフォルトの名無しさん
NGNGとりあえず大は小を兼ねるでLongを使ってます。
0647デフォルトの名無しさん
NGNGサブクエリ禁止と言うかサブクエリを必要としない
でーびー作れってことなんじゃないの?
0648デフォルトの名無しさん
NGNGレジスタ長になるのは、intだけ?
intは良くきくけどほかはいわれないような気がする・・・。
それとも、あれってC依存・・・?
0649デフォルトの名無しさん
NGNG何の言語だかわからん。
とかいう揚げ足取りするやつがでそうだ。
0650デフォルトの名無しさん
NGNGPC の定義書いとけ。
0651デフォルトの名無しさん
NGNG処理系依存、つか、処理系の開発ターゲット依存だ。
0652デフォルトの名無しさん
NGNG普通の関数と区別つけたいならむしろ普通の関数のほうを
::FooBar()
で呼び出すべきだと思うが。
それともスーパークラスのメソッドと区別つけたいの?
0653デフォルトの名無しさん
NGNG自分としては、普通の関数を ::FooBar()みたいに呼ぶほうが、抵抗あります。
それでも、メンバにFooBar()というメソッドがあって、外部のFooBar()を
呼びたいときは、::FooBar()としますが・・
はっきりいって、thisを絶対にしたほうが(言語仕様的に)ソースが綺麗じゃないですか?
メンバは、this->FooBar()、外部関数は、普通にFooBar()と出来る様になりますし。
>それともスーパークラスのメソッドと区別つけたいの?
いえ、ノーマル関数と区別したいだけです。 まあ、単なる癖ですよ。
0654デフォルトの名無しさん
NGNG> はっきりいって、thisを絶対にしたほうが(言語仕様的に)ソースが綺麗
意味不明
言語仕様的には、区別できれば(コンパイラは)文句いわない
0655デフォルトの名無しさん
NGNGそれは、thisを付けようが付けまいが、外部の同名の
関数を呼び出す時は、::FooBar()としないと、コンパイラが区別出来ないと言う事?
thisとしなくても、thisポインタが最初から渡されているんで同じと言う事ですか?
文章で伝えるのはムズい・・
0656デフォルトの名無しさん
NGNG何を言ってるのか良く分からんが
言語仕様的にソースが綺麗
っつーのが 653 には理解不能なんじゃないの。俺にも意味がわからん。
0657655
NGNGthisを書かなくても ○
0658655
NGNGクラス内でメンバ関数を呼ぶときは、
this->Func();
クラス内でメンバ関数と同名の関数を呼ぶときは、
Func();
と、出来るのではないかという事が、言いたいのでした。
分かりましたか?
言語仕様的じゃなくて、文法的でした。
0659デフォルトの名無しさん
NGNGなるほど、よく分かったが同意はしない。
メンバ関数から、同一クラス内のメンバ関数を呼び出す
外部の同名の関数を呼び出す
機会を考えると、前者の方が圧倒的に多い。一般的なケースは簡潔に、例外的な
ケースは目立つようにしたほうが、
書くのが楽
例外的な部分が、「注意を要する」とすぐに分かる
から嬉しい。
0660655
NGNGうーん、やっぱり好みの問題ですかね?
自分は、やっぱメンバにthisを書きたいです。
僕ももう少し経験を積めば、そんな風な考えになるのかな?
0661224
NGNGでもOOP的には、オブジェクトをはっきりさせた方が良いと思うので655にも同意。
#折衷案としてpublicには付ける、privateには付けないっつーのはどう?
0662デフォルトの名無しさん
NGNGVBみたいだなぁ〜。
0663デフォルトの名無しさん
NGNGVBはMeつけるのとつけないのでは違いがあるから気をつけてな〜。
(Meをつけるとプロパティ経由になり参照渡しにならなくてパフォーマンスも落ちる。
フォームのプロパティ or フォーム上のコントロールはたぶんMeつけてもつけなくても同じ。)
0664デフォルトの名無しさん
NGNGその感覚でいけば
for(i=0;i<n;i++){.
...
{
int i;
for(i= ... ←これは内側のスコープの i であることを明示的に修飾しなくてはいけない
}
}
ということになりそうだが・・・
0665662
NGNG>Meをつけるとプロパティ経由になり
どういう前提の話だろう??
Meを付けても付けなくてもプロパティを呼び出せば、プロパティ経由じゃない?
Public Property Get xxxx() As 〜
Public Property Set xxxx(yyy As 〜)
とあって、同じクラス内の別の場所で、
xxxx = ZZZZでも
Me.xxxx = ZZZZでもプロパティ経由でしょって意味ね。
0666663
NGNGゴメン、説明が足りなかった。
Publicの変数のとき。
宣言がPublic xxxx As Integerのとき、
Meをつけないときは、変数を直接アクセスしている感じになって、
Meをつけたときは、
Public Property Get xxxx() As Integer
Public Property Let xxxx(ByVal i As Integer)
のような、プロパティを経由して変数にアクセスしている感じになる。
もちろん、外部からはプロパティ経由。
0667デフォルトの名無しさん
NGNG666だね。
0668620
NGNGInteger と Long の話は元々 VB の話だったのだ。
当時、Win98/VB6 で計測したが、IDE上では Integer が、
コンパイル後のExeでは Long が早かった。
多分、IDE上では Long に対して、なんかチェックのルーチンが入るんじゃないかな?と想像した。
いついかなる時も最適化コンパイルされたネイティブコードだけを想定するのは間違い。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNGIDE上でのテストが速く済む(w
>>668
つーか、それ本当か? 今試したがLongの方がわずかに速かったぞ。
0671デフォルトの名無しさん
NGNGそんなもん計測時の状態(実験環境(CPU,メモリ,OS,VB)、他のプロセスの起動数)、
計測の方法(コード、時間計測に使用した関数)によって変わる程度の微小な差だ。
何回計測した結論なのよ。
そういう話抜きでは、無意味すぎ。
0672デフォルトの名無しさん
NGNG昔COBOLやっていたせいなのか
関数名と変数名が大文字で
その名前自体がコード化されている。
PP13KA()とかね。
最後のAはその関数のバージョン。次はB。
0673デフォルトの名無しさん
NGNGつまりメンバ呼び出しにthis->をつけたいのは
「普通の関数と見分けたいから」
ではなくて
「インスタンスが暗黙のうちに渡されていることを明示したいから」
なのだろ?それなら論理的には納得できるし、好みの問題かもしれん。
0674668
NGNGPrivate Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Private Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Main()
Dim lngStartTime As Long
Dim lngEndTime As Long
Dim intCnt1 As Integer
Dim intCnt2 As Integer
Dim lngCnt1 As Long
Dim lngCnt2 As Long
Dim blnUseLong As Boolean
blnUseLong = False
Debug.Print IIf(blnUseLong, "Long", "Integer")
timeBeginPeriod 1
If blnUseLong Then
lngStartTime = timeGetTime()
For lngCnt2 = 0 To 1000
For lngCnt1 = 0 To 32766
'
Next
Next
lngEndTime = timeGetTime()
Else
lngStartTime = timeGetTime()
For intCnt2 = 0 To 1000
For intCnt1 = 0 To 32766
'
Next
Next
lngEndTime = timeGetTime()
End If
Debug.Print "結果:" & lngEndTime - lngStartTime
timeEndPeriod 1
End Sub
0675655
NGNG>「インスタンスが暗黙のうちに渡されていることを明示したいから」
>なのだろ?それなら論理的には納得できるし、好みの問題かもしれん。
いや、そこまで深く考えてません。
自分の場合、ただ見やすいという理由でthis付けてるだけです。
いや、ホントにタダの癖ですよ。
コーディング規約的な話をしだせば色々ありますねぇ・・
ポインタには、先頭に必ず"p"を付ける
int *phoge;
クラス名には、"C"を付ける
class Cfoo{
・
・
};
クラスメンバには、"m"を付ける
class Cfoo{
private:
m_hoge;
};
などなど、上に挙げたようなのは、すべて文法的に取り込めば
他人のコードも少しは読みやすくなりませんかね?
あっ、自由度が無くなるんでダメ?
かなり反感買いそうなんで流してください・・。
0676デフォルトの名無しさん
NGNG強制するのもいいかも知れません。ただし、その言語が相当自信作ならば、です。
はじめて Java の事を知った時、エントリポイントすらクラス内に書かなければいけないほど OO 「的」な文法を強制されるなんて!と思いましたけど、
Java を勉強する中で、この文法が何を伝えたかったのかが解りました。
逃げ場を無くす事は、場合によっては非常に有効ですね。
0677デフォルトの名無しさん
NGNGぜひ異なる分野へ転職してください。
0678善良な一プログラマ
NGNG氏んでください
0679デフォルトの名無しさん
NGNG>>675
に関しては同意。これくらいは統一しないと
人のコード読んだり、引き継いだりするとき
かなり困るんだけど…。
気ままに自分だけの感覚で命名される方が
よほど困るんだが…。
0680デフォルトの名無しさん
NGNGそれはm_hogeのhogeの命名が悪いせいであって、
m_を付けたからって解決しない。
0681!= 679 だが…
NGNG具体的にはメンバー変数はどういう名前をつければいいんでしょう?
引数でわたってくる変数とメンバ変数名は、内容的には似ている物が多くなる気がするのですが?
常にベストな命名ができる基本方針等ありましたら是非ご教授くださいませ。
よしなによろしく。
0682デフォルトの名無しさん
NGNGthis使うとか。
そして話題はエンドレスにループ。
0683デフォルトの名無しさん
NGNG・フリーになって一人でやって欲しい。
・ソースは納品しないで欲しい。
・その代わりあなたの納品物は無料永久サポート対象です。
・永久とは言葉のあやで、実際にはあなたが死ぬまでです。
0684デフォルトの名無しさん
NGNG感想文はこの板じゃないぞ。
技術的な議論ならここだが。
0685デフォルトの名無しさん
NGNG「僕の気分がよくないんでちゅ〜〜!」
という自己厨は動物園の檻に(・∀・)カエレ!!
ちゃんと檻の前の看板を見ろよ。「チンパンジー」って書いてある所がお前の家だ。
0686特定の文字列でOE5がプレビュー時にハングアップ
NGNG以下のような文字列を含むメールを開く・プレビューするとOutlookExpressが固まります。
<" http://www.testtest.co.jp/ "@www.testtest.co.jp>
-----
>> http://japan.cnet.com/News/2001/Item/011120-3.html?mn
> セキュリティー会社がInternet Explorer(IE)のセキュリティーホールの詳細を
> 公開したことに対し、IEユーザーを危険に晒したと非難していた米マイクロソフトだが、
> 実は1週間前からその欠陥を知っており、修正パッチをリリースできずにいたことを認めた。
そういえば自分も今年の3月頃、特定の文字列がかかれたメールを
OutlookExpress5に送るとプレビュー時にハングアップすることを発見し、
マイクロソフトに送ったのに、今のOE6でも直ってない。
内部的にセキュリティーホールに繋がってるとまずいと思って、
公開してなかったけれど、時間的にもう十分だよね。
以下のような文字列を含むメールを開く・プレビューするとOutlookExpressが固まります。
<" http://www.testtest.co.jp/ "@www.testtest.co.jp>
(ここではhttpを大文字にしています。)
以下より転載
http://memo.st.ryukoku.ac.jp/archive/200111.month/1912.html
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGこのスレに書くということは、
OE5はバカなコーディング規約の元で開発されたということですか?
0689デフォルトの名無しさん
NGNGいや、誤爆じゃないの?
0690デフォルトの名無しさん
NGNGdwXXXって変数が実はshortだったりしたんだろ。
0691685
NGNGなにそれ?誉め言葉?
なぜ俺が"クロ高のゴリラ"なのかなんて言えないんだよね。
"理由も無く" m_ を嫌う君はさ、理由もなく人を何かだと言うんだよね。
ちなみに俺は別に m_hoge 推進派じゃないよ。 hoge_ でもいい。
ちゃんと区別できるならね。
0692デフォルトの名無しさん
NGNGちゃんと区別できるって何を?
0693デフォルトの名無しさん
NGNGメンバかメンバじゃないかだろ?
0694デフォルトの名無しさん
NGNGまさかグローバル変数使いまくりとか?
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGスマソ...書きたくなってしまった。
0698
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGグローバル変数はともかく、ローカル変数とメンバ変数ってたまに名前が
重なりそうにならん?
0701デフォルトの名無しさん
NGNG重なるときもあるけど、私は元気です。
言語によるけど重なったらエラーになったような
ならなかったような。
Javaとか新しいCはエラーになったような
記憶があいまいだけど
0702デフォルトの名無しさん
NGNGそういう発想なら、おれはローカル側に別名つけるよ
x(メンバ)
tx(ローカル)
0703デフォルトの名無しさん
NGNGそれ忘れてた(鬱
でも、そんなに問題にならなそうな気がする・・・
0704デフォルトの名無しさん
NGNGこのスレの上の方で、うまい説明してくれてる人がいた。
「生存期間が違うので、区別をつけた方がいい」だったかな。
俺が書くといけてない説明になるなぁ。
俺は「見た瞬間にメンバ/非メンバを判断したい」んだけど。
多数のクラスをいじってると、どれがメンバでどれが違うかなんて
覚えきれない。
スクロールしてメンバかどうか確認したりすると、
どう書こうと思ってたのか忘れたりする。
m_ (もしくは最後の_) は、「そなえあれば憂いなし」ってやつですね。
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG>>386 近辺かな。
0707デフォルトの名無しさん
NGNG─────終了。
0708デフォルトの名無しさん
NGNG気がするというか、
重なったことに気づかないと、すごく不幸になる
(一時間デバッグで悩んだ挙句に、こんなバグだと気が抜ける)
ので、たかが m_ 二文字で避けられるなら安いものじゃん、と俺は思ってる。
0709デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG変数名に張り付く"m_"のこと?
0712デフォルトの名無しさん
NGNG-> とか . 付けときゃイイ。
でもオブジェクトにはわざとつけた方が良いかもしれん。
(-> とか付けると醜くなるのは public 防止に良いカモ)
0714712
NGNG(ローカル変数には付けない方針で)
int grobal;
class Hoge
{
privete:
int method( int arg );
int nObject;
};
int hoge::method( int arg )
{
int local = arg;
nObject = this->method( ::global );
:
};
ってな感じで。
0715デフォルトの名無しさん
NGNGint m_hoge;
public:
int hoge(void);
void hoge(int);
とかやってたけど、最近はどーでもよくなったよ。
0716デフォルトの名無しさん
NGNG残念ながら…。
ハンガリアン禁止 > ハンガリアン厳守 > 中途半端にハンガリアン
だと思う。
0717デフォルトの名無しさん
NGNGつーか、これは何の言語ですか?処理系を教えてくらはい。
C++なら名前付け以前の問題...
0718デフォルトの名無しさん
NGNG多分、 n のあたりがハンガリアンじゃない?(俺はそう思った。)
コード追ってみたら確かにイッてるね。
スタックオーバーフローじゃ。
0719717
NGNGスタックオーバーフロー以前にコンパイルエラー
C++という言語だったとしたらだけど(w
0720718
NGNGgrobal あたりは typo ですらなく、そう覚えてると思われ…。
0721712
NGNG>>720
>grobal あたりは typo ですらなく、そう覚えてると思われ…。
nObject = this->method( ::global );
も見てから言ってクレ。
0722712
NGNGint Hoge::method( int arg )
だった…鬱だ。
0723717
NGNGで、何の言語なの?(w
0725デフォルトの名無しさん
NGNGよろしいですか?
0726デフォルトの名無しさん
NGNG見ててつまんないし。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG0730Kusakabe Youichi
NGNG0731デフォルトの名無しさん
NGNGtypeの誤植。
0733デフォルトの名無しさん
NGNG通報された後に警察がやってきて、あなたにしてあげる事。
0734デフォルトの名無しさん
NGNG警察は波紋法をつかうのかー
0735733
NGNGすまん、指紋法と typo の因果関係が特定できなかった…。
http://www.google.com/search?hl=ja&q=%8Ew%96%E4%96%40+typo&btnG=Google+%8C%9F%8D%F5&lr=
0736デフォルトの名無しさん
NGNGvirtual void ピンクだぞチクビ();
0737デフォルトの名無しさん
NGNGとりあえず、自分のレス先をよ〜くよんでみよう。な。
0739729
NGNG「typo」は「type」の誤植として有名だ、と。
転じて、「typo」ってのが、「誤植」って意味として
マ板ム板あたりでは普通に使われてる、と。
そういうことでファイナルアンサーなのかな?
>>733
あんた、まさにtypo多すぎだよ!(笑)
s/>>279/>>729/
s/指紋法/波紋法/
0742名無しさん@Emacs
NGNG0744734
NGNGあなた おいしすぎ
0746731
NGNG引っかかってくれるとは、君はいいやつだな。
でもまぁ、先に辞書引いてみようぜ。
俺は729とおなじにtypoってなんだ?と思ったくちだ。
0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG0753712
NGNG|д`) 漏レガtypoシナケレバ..
⊂ | スマネェ733サン...
| |
|U
0755733
NGNG_|____|_
/ノ/ ノ \ヽ
|( | ?? ??|)| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
从ゝ ▽ 从 < >> 712 気にしないで! typo 仲間じゃない♪
/  ̄<V> ̄i \__________
/ ハ o ハ
(__)/ o |_)
/ ヽ
 ̄| ̄| ̄| ̄
| ̄| ̄|_
〈___〉__〉
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG前任者たちはこんな風にしてました
void f(){
while(1){ // 絶対ループしないbreakを使いたいがため
if(error){
break; // ほんとはreturnしたい
}
}
return;
}
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGintVal
lngVal
sngVal
とかあるけど、Boolってどうやってる?
bolVal?
あとFormとFrameも困る
どちらもfrmObjectになっちまう
俺の場合fraFrameにしているけどみんなはどう?
あと、VB変数の命名規則のリンクがあったら教えて。
0761デフォルトの名無しさん
NGNGMSDNにちゃんと全部書いてあるよ。
Bool型は、bln〜
fra自体がフレームを意味してるのだから、fraFrameは、馬から落馬。
0762デフォルトの名無しさん
NGNGオブジェクトはobj〜でいいんじゃないの?
0763デフォルトの名無しさん
NGNGMSDNライブラリに書いてあるよ。名前付け基準とかで検索してみ。
0764デフォルトの名無しさん
NGNGマジ?ベリーサンクス!
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGうーん、頭痛が痛い。
0768デフォルトの名無しさん
NGNG/****************************************/
/* 関数名: */
/* 引数: */
/* 説明: */
/****************************************/
わざわざ*で四角に囲まなくても良くないと思うのですが。
テンプレートを埋める際にずれて腹立ちます。
0769デフォルトの名無しさん
NGNG矩形領域の上書きコピペすればいいだけでは?
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGviでそんな器用な事出来たっけ?
まあオレは秀丸使うけど
0772733
NGNG>>771
秀丸ってそんな器用なことできたっけ?
0773デフォルトの名無しさん
NGNG悲惨なコードだな
0774デフォルトの名無しさん
NGNGdo{
...
}while(0);
の方が良いと思うなー。みたいなー。
0775デフォルトの名無しさん
NGNGfor(;o;) { /*ダレカトメテー*/
...
}
0776デフォルトの名無しさん
NGNGあ、あ、あぁぁぁぁあぁあ、
……あーあ。
>>759
賛成
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG↓こんなのハケーン
#define ZERO 0;
0781デフォルトの名無しさん
NGNGwhile(error) return;
とか
for(;error;) return;
とかでいいんじゃねーの?
0782781
NGNG0783デフォルトの名無しさん
NGNG0784棄教者 ◆witdLTi2
NGNGループを抜けるにはループ内部で
if (何か条件)
o=0;
を挿入すればいいんですよね?
while(1){
if(何か条件)
break;
}
なループよりも格好いいかも
0785デフォルトの名無しさん
NGNG要するにキミは泣いている(;o;)に、
「止めてほしけりゃ、俺の0をしゃぶりな。」
と言うのが格好いいと。
0786デフォルトの名無しさん
NGNG滅びの呪文はFALSEですか?
0787デフォルトの名無しさん
NGNGそれじゃ即抜けできねーだろ
0788デフォルトの名無しさん
NGNG「矩形領域の上書きコピペ」って面倒だと思わないの?
0789デフォルトの名無しさん
NGNG使ってるエディタにそういう機能があるの。
どこが面倒なの?
0790デフォルトの名無しさん
NGNGまあまあ
788は矩形選択できねえnotepadみたいなエディタしか
使ったことないんだろうよ
0791758
NGNG当然gotoも禁止でした
0792デフォルトの名無しさん
NGNGこういう輩にいいたい。
「ならbreak/continueもすんなよ」
0793デフォルトの名無しさん
NGNGそういう輩は、マルチプロセスとかマルチスレッドとかの扱い、
どうするんだろう???ソースが(そいつらの主観で)読みやす
ければ、実行時の複雑さはどうでもいいのかな?
0794デフォルトの名無しさん
NGNGbreak禁止だとswitchを使うのが難しくなるね。
0795デフォルトの名無しさん
NGNG脱出方法がreturnか、gotoだ!
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800791
NGNG0801デフォルトの名無しさん
NGNGret
};
だめ?w
0802デフォルトの名無しさん
NGNG↓
他のプロセスがシグナル検知して別プロセス立ち上げ
↓
別プロセスが共有メモリを読み込んでつづきの処理
↓
以下繰り返し
…アホだ…
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG多用されるのかよくわかりません、教えてください。
(煽りでもネタでもなく、最近マルチプロセス/マルチスレッド系に初めて手を染めたので、よく知らないので勉強の為です。)
よろしくお願いします。
0805デフォルトの名無しさん
NGNGマルチスレッドだからといって break, continue の使用頻度があがると
は思いません。
なにか勘違いされてるように思います。
0806デフォルトの名無しさん
NGNGC++6年使いにこういうヤツがいた。
for(i = 0; i < loop_max; i++) {
if (loop抜けの条件 == True) {
i = loop_max;
}
else {
/* ... */
}
}
0807棄教者 ◆witdLTi2
NGNGぼくも気分的に
if( ! 条件文 ) {
/* Do something */
}
と書くべきを
if( 条件文 ) {
/* Do nothing */
} else {
/* Do something */
}
と書きたくなるときがありますが 何か?
0808デフォルトの名無しさん
NGNGそゆの書くヤツに限って !(a && b) と !a || !b がわかんないアフォだし。
0809デフォルトの名無しさん
NGNGそのif〜else節の後ろにも処理が続くなら、それはそれでアリだと思うよ。
だけどそれなら書き方にもう少し工夫がいるな。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGLisp でもよくやると思うよ
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNG冗長だと思うよ。
0815デフォルトの名無しさん
NGNG//.......
}
とかくかわりに
if(expr){
}
else{
//.......
}
と書くのは、あんまり使わないけどexprが複雑なときはそう書きたくなる気持ちは分かる。
exprの全体を!()で囲うとexprの部分が見づらくなってしまうし、
かえって意図がはっきりしなくなってしまうこともある。
まぁunlessのかわりって所かな
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNGif("Aの値が1なら"){
TextOut("Aは1でした")
}
}
ifを2つ使ったのは、Aが存在しないのに
if("Aの値が1なら")
を実行するとエラーになるからです。
こんな場合でも
if("Aが存在するか" && "Aの値が1なら"){
TextOut("Aは1でした")
}
とすればAが存在しなければ
"Aの値が1なら"
は評価されず、if は FALSE の処理になるんですか?
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG規格書調べれ。
0820デフォルトの名無しさん
NGNG一部のCでは&&の右が評価されることがあるらしいが最近なら右は評価されない。
よって、最近なら後者で逝け。
0821デフォルトの名無しさん
NGNGif(ptr!=NULL && *ptr==n) …
というコードがなんとなく書きたづらいなぁ
0822821
NGNG0823デフォルトの名無しさん
NGNG&&はコンパイル時に結局if(){if()になるんじゃなかったっけ?
>右が評価されることがある
それはコンパイル時に&&の左右が入れ替わる可能性があるということ?
0824棄教者 ◆witdLTi2
NGNG実験しましょう
int a = 0;
int b = 1;
int main(void) {
a++ && b++;
cout << "a=" << a << ", b=" << b << endl;
}
あなたのコンパイラでは結果はどうなりますか?
int a = 0;
int b = 1;
int main(void) {
a++ || b++;
cout << "a=" << a << ", b=" << b << endl;
}
あなたのコンパイラでは結果はどうなりますか?
ちなみにぼくはgcc2.95@Linuxですが
上の例だとa=1, b=1 下の例だとa=1, b=2でした
>>821
Perlだと
open FH, "<filename" || die "ファイルが開かないぞゴルァ\n";
って構文よくあるよ
ぼくは Perlが primary languageでC++がsecondary languageなので
C++でコードするときもこういう構文をよく書きます
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG評価を終わらせるっつーやつやね。C/C++プログラマには
常識…とまでは言い過ぎかもしれないけど、聞きかじった
ことぐらいはある話のはず。ていうかCommon Lispでも
短絡評価だったような記憶があるし、Perlでもそうだって言うんなら、
この話はプログラマにとって一般常識かも。
でもまあ、せっかく>>824がテストコード書いたんだし、
動かしてみた。VC++6.0でも、824と同じ結果になったよ。
ちなみに、||のほうでは初期値をa=1,b=1でやってみて、
a=2, b=1、という予想通りの結果が出た。
やるまでもないようなことだけど、やってみて期待通り
だったから一安心やねー。
0827棄教者 ◆witdLTi2
NGNGぼくのテストコードで遊んで下さってありがとうございます
お説の通り&&でも||でも初期値をa=1にした場合も
テストしないといけませんでしたね
自分でももう一度やってみます 鬱だ
0828棄教者 ◆witdLTi2
NGNG> perlstyle より
> Just because you CAN do something a particular way
> doesn't mean that you SHOULD do it that way.
時と場合に応じた if || &&の使い分けやelse構文を使うのは
*読}*み*や*す*け*れ*ば*それでいいと思うYO!
0829デフォルトの名無しさん
NGNG>*読}*み*や*す*け*れ*ば*それでいいと思うYO!
この部分が読みにくいのれす。コードだけでなく、文章も読みやすいほうがいいと思うYO!
0830デフォルトの名無しさん
NGNGVBでは短絡評価が通用しないんだよね。Andで繋ぐと全部評価してしまう。
Dim i,j,k As Integer とかの次に、Cプログラマがハマるところ。
でも、VB.Netでは短絡評価が採用されるそうな。仕様変えるなよ・・・。
0831デフォルトの名無しさん
NGNG別の言語に文句いってもしょうがないと思う...
0832デフォルトの名無しさん
NGNGifの()の中が全て評価されことがあったかは分からんな。
Perlの
open FH, "<filename" || die "ファイルが開かないぞゴルァ\n";
もよく使います。
とりあえず現状では&&はFALSEが決定した時点で終了だ。
#include<iostream.h>
int func(){cout << "評価された"; return 1;}
main(){
int i = 5;
if(i==8 && func()){
cout << 3;
}
cout << 9;
}
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGPerlなら||じゃなくてorにしとけ。
0836デフォルトの名無しさん
NGNGいまどきのコンパイラは警告してくれる。
for (unsigned char bits = 0x80; bits; bits >= 1) {
if (pattern & bits) {
// ...
}
}
0837836
NGNG0838棄教者 ◆witdLTi2
NGNGこの板はC系の住人が多いからわかりやすいように||/&&で書いたんだYO!
仕事でハックするときはいつもand/orを使っている これ最強
しかしこれをやると
Cでハックするときもand/orとやってコンパイルエラーを起こすという諸刃の剣
素人にはお勧めできない
まあお前はifでも使ってなさいってこった
0839デフォルトの名無しさん
NGNGまあ、オレはショートサーキットに依存しないように組んでるが。
perlのサンプルで常用されているやり方は正直論外だ。まあperlらしいが。
0840棄教者 ◆witdLTi2
NGNGたった今そういうコードを書いたので報告
const LEFT = 1 << 0;
const CENTER = 1 << 1;
const RIGHT = 1 << 2;
if( direction == LEFT ) {
/* Do nothing */ ← どうしても書きたかったの♪
} else if ( direction == CENTER ) {
hoge();
} else if ( direction == RIGHT ) {
fuga();
}
これを
if( direction == CENTER ) {
hoge();
} else if ( direction == RIGHT ) {
fuga();
}
とだけ書くと「左」の場合は何をやるの? ってあとから
見直した場合に混乱するような気がしてならなかったんです
すみません もうしません 許して下さい
0841デフォルトの名無しさん
NGNG俺なら素直に switch - case にするか、関数ポインタの配列を使うけど。
0842デフォルトの名無しさん
NGNGスレの趣旨にそって考えるに、規約でswitch文またはbreak文が
禁止されてたとか。
関数ポインタは「難しくてメンテナンス性が悪い」から使うなとか。
0843デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGreturnは1関数内で一度だけ。
ってのがあった。もちろん、誰も守ってなかったけどな(w
まぁ「long型の符号を指定しないとがsignedになるかunsignedになるかは処理系依存」とか
書いているレベルだったしな。
sizeofも関数とか言ってるんです。もうね、アホかと。馬鹿かと。
0846デフォルトの名無しさん
NGNG> goto, continue, break(switchのは除く)は原則使用禁止。
> returnは1関数内で一度だけ。
構造化プログラミング原理主義者ですな。最近は絶滅の恐れが指摘されてい
ますので、速やかに実務から遠ざけて保護監視下に置いてください(w
0847デフォルトの名無しさん
NGNGところで、switchが禁止されてたら、どうするんだ?
関数ポインタ
仮想関数のオーバーライド
Chain of Responsibilityパターン
if文ぐりぐり分岐
あたりで対処すんのか? どれもこれも面倒…。
0848デフォルトの名無しさん
NGNG#define not(f) (!(f))
if not( a<b && b<c ... )
0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGもちろん>>840みたいにif文でぐりぐり
0851棄教者 ◆witdLTi2
NGNGぼくとしては !, &&, ||みたいな記号を使うよりも
not, and, orみたいな英語を使う方が直感的で好き♪
だから Perl マンセー
0852デフォルトの名無しさん
NGNGC++ 使え。
0853デフォルトの名無しさん
NGNGVB使え。
0854デフォルトの名無しさん
NGNG#define not !
#define and &&
#define or ||
ただし、これを使うと(以下略
0855棄教者 ◆witdLTi2
NGNG>ただし, これを使うと訳の分からない副作用に悩まされる諸刃の剣
>素人にはお勧めできない
了解しました マクロの副作用はじっさいよく分からないので 恐くて使えません
定数を宣言するときはconstを,
マクロを使いたいときはインライン関数を使っています
0856デフォルトの名無しさん
NGNG>>854の糞マクロは、お前以外のすべてのCプログラマにとって
読みづらいという副作用しかないが。
0857デフォルトの名無しさん
NGNGなんでもかんでも return すんなよって思うんだけど。
出口はできるだけ少ない方がわかりやすいでしょ?
出口をひとつにする為に多大な労力を払うのは馬鹿だけど、
簡単に出口をひとつに出来る場合までたくさん出口を作るやつはもっと馬鹿だと思う。
0858デフォルトの名無しさん
NGNG例外なげまくりの方向で。
0859デフォルトの名無しさん
NGNGそれ最悪。
0860デフォルトの名無しさん
NGNGC99 だと標準ヘッダ <iso646.h> で定義されてたり。
まぁ trigraph の親戚だから、無理して使う必要は *全然* ないけど。
0861デフォルトの名無しさん
NGNGじゃあ関数呼びまくりでreturnが複数にならないように。
0862デフォルトの名無しさん
NGNGif (a == b) {
/* ... 処理 ... */
} else;
修正個所を示すコメントはインデントをつけず、
追加・修正・削除に応じた記号を埋め込むこと。
と、いうことでソースがかなりいい塩梅になってた。
0863デフォルトの名無しさん
NGNG0864862
NGNG未だに日付を付けて履歴ファイルを残しているYO!
0865デフォルトの名無しさん
NGNGPascalやってた俺には逆に見やすい罠。
ただし、Pascalと論理演算子の評価順が違う罠。
0866デフォルトの名無しさん
NGNGそんな奴はPascalを使えばいい罠。
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG#define end }
#define procedure void
0870デフォルトの名無しさん
NGNG0871848
NGNG他の部分では普通に ! を使っておりました。
# 要するに if(条件); else{...} を if not(条件){...} にしたかった。
0872デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGif (!(条件)) {...}でいけない理由が分からない
0876デフォルトの名無しさん
NGNG括弧のせいで可読性が最悪
0877デフォルトの名無しさん
NGNG最悪っつーほどのことか? むしろ、ふつーは見かけない not を使うほうが
(?_?) となると思われ。
0879デフォルトの名無しさん
NGNGかったけど)。
switch(exp) {
case 1:
ほげ; break;
case 2:
ほげほげ; /* break せずに下に落ちてはいけない */
default:
ほげほげほげ;
}
0880デフォルトの名無しさん
NGNGこのスレでマジレスするのもどうかと思うが、まぁ(w
break しなくても良いんだが、その場合には原則として
/* FALLTHRU */
と書いて欲しいとは思う。俺が /* FALLTHRU */ を書かないのは
case '0': case '1': case '2': ...
というような「数字をまとめて」「アルファベットまとめて」で処理する場合だけ。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883879
NGNG>>880
lint 対策すね。
0884
NGNGif( a != null && !a.equals("") ){}
か
if( "".equals(a) ){}
どっち?
いつも上をつかってるけど下をはじめた見たとき
目からうろこが落ちた
0885デフォルトの名無しさん
NGNGまだたくさん入ってますよ、うろこ
0886デフォルトの名無しさん
NGNGそのコード、まったく違うだろ?
0887デフォルトの名無しさん
NGNGすばらしい。
おれも目からウロコがおちた。
こんどから使わせてもらおう。
0888デフォルトの名無しさん
NGNGそのだと文字列以外には適用できないし
下から上の意図を読み取りづらい(慣れの問題ではあるが)ので
使わないかも。
0889素人PG
NGNGJAVAよく知らないから聞くんだけどさ、
C++的なイメージで読み解くと、上の方って最初にNULLチェックしてる訳よね。
それだと、下のコードは ""ストリングクラスにNULL渡しても
イコールと評価されないって事なの?
"" って、C的に考えると \0 つまり NULL っすよね?
a がどんな型を使ってるのか解らなければ間違ってると過指摘できないや。
0890デフォルトの名無しさん
NGNGDBのnullとかもそうだし
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGC的に考えても\0はNULLじゃないぞ。
0893デフォルトの名無しさん
NGNG自分でやってみろアホ
0894デフォルトの名無しさん
NGNG・等値の比較は、定数を左辺におくこと
・大小比較は、比較する値と比較対象の変数が数直線に乗るように書くこと
要は下記のように書け、ってことなんですが・・・
やっぱこういう規約ってアフォな会社のやることなんでしょうか?
----------
http://pc.2ch.net/test/read.cgi/unix/1016643235/ より
main()
{
int x ;
for ( x = -5 ; x < 10 ; x++ )
{
if ( ( 1 < x ) && ( x < 6 ) )
{
printf( "%d is in [ 1 < x < 6 ]\n" , x ) ;
}
if ( ( x <= 1 ) || ( 6 <= x ) )
{
printf( "%d is not in [ 1 < x < 6 ]\n" , x ) ;
}
if ( 3 == x )
{
printf( "%d is just 3\n" , x ) ;
}
}
}
0895
NGNGif( a==1 )
を間違えて
if( a=1 )
と打ち込んでしまってもコンパイラは警告を出さない。
if( 1=a ) なら警告を出す。
>・大小比較は、比較する値と比較対象の変数が数直線に乗るように書くこと
意味判らん。
0896
NGNG0897デフォルトの名無しさん
NGNGx > 0 && x < 5
じゃなくて
0 < x && x < 5
って書けってことなんでは
自分的には… どうでもいい
0898デフォルトの名無しさん
NGNG> ・等値の比較は、定数を左辺におくこと
> ・大小比較は、比較する値と比較対象の変数が数直線に乗るように書くこと
後者は、それで多少式が読みやすくなるけど、前者は読みにくくなるよね。
その方針としての矛盾がいやだ。
0899デフォルトの名無しさん
NGNGいまどきのコンパイラかつ警告レベルが高ければ
>・等値の比較は、定数を左辺におくこと
if( a==1 )
を間違えて
if( a=1 )
と打ち込んだら警告が出る。
if( 1=a ) ならエラーを出す。
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGこれは自分規約でやってるよ。Cやり始めの頃は
if (0 < x < 9) {.....}
とかやってはまったけどね。自分的には 0 < x && x < 9の方が左から素直に
読めるのでそうしてる。
0902デフォルトの名無しさん
NGNGまったく同じようなレスをしてあったぞ。
0903棄教者 ◆witdLTi2
NGNGif( (a=1) )だと怒られません
0904デフォルトの名無しさん
NGNGif (10 = a) は、そもそもこんなコードを書くのが悪いので否定。
0905デフォルトの名無しさん
NGNGa=1 ... 代入式
(式) ... 式
(a=1) ... 式
0907デフォルトの名無しさん
NGNG参考スレで賛同を得られなかったからって出張しなくてもいいんじゃないの?
参考スレでも書いている人がいるけど
「思考の流れに沿ってコード書く」
に俺も1票。
コンパイラがエラーで教えてくれるからってコーディングスタイルを変えるのはどうかなと思う。
# コード書く人がしっかりしていないとCは糞言語になるよ。
しかし、894みたくxの比較対照が全て定数ちゅう状況はあまりないような気がするんですが...
どうでしょうか。
0908デフォルトの名無しさん
NGNG氏ねよボケが
0909ななし
NGNG他言語(OO言語?)では、ハンガリアンスタイルが否定されつつあるそうです
(2チャンネルでそういう趣旨の発言を複数回見た記憶があります)が、その
理由(趣旨)は何でしょうか?
イタチ飼い、もとい、板違いでしたら、スマソ。m(_ _;)m
(コーディングスタイルが議論の対象のようなので、恐る恐る上げてみました)
0910ななし
NGNG自己ツッコミですが、もしかして、実行時にならないと型が決定されない
オブジェクト(VBのVariantや抽象Object型のようなもの?)に対応でき
ないからですか?
見当違いでしたら、ツッコんでください。
0911デフォルトの名無しさん
NGNG基本型しかない・使わない言語しかなければ版狩り案も生き残ったかもしれんが。
0912ななし
NGNGマジレス感謝です。m(_ _)m ペコリ
0913894
NGNGちょっと待て えらく心外な言われ方だな。
自分でこれが正義だと思ってたら、「バカなコーディング規約」なんていうスレ題のところに
書くとでも思ってる??
バカっぽいけど作成者集団がバカの集まりだった場合にはどうだろうか?
という疑問があったから書いたまでだよ。
UNIX板のURLを書いたのは前評判はこうでした、というのを提示したかっただけ。
実際問題、こういう比較を行なうこと自体マレなのは承知してるよ・・・バカにすんなや
0915デフォルトの名無しさん
NGNGだいたいそんな細かいこと 規則にする必要ないよ
お薦めのコーディングスタイル程度でいい
0916(謎)のつぶやき
NGNG0917デフォルトの名無しさん
NGNG0918下の方が見やすいとおもうんだがどうだろう。
NGNGif( 0 == foo.bar( arg1, arg2, ..., argn ) )
0919デフォルトの名無しさん
NGNG実在する規約をかこうよ。
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG私の感覚では上の方が自然。
下は if ( 0 = value ) でエラー(警告?)を出すための技法だったような・・・。
0922デフォルトの名無しさん
NGNG素直に警告レベル上げろに一票入れとく
0923921
NGNGif (a = 0) を防ぐためでした。
カッコ内で代入しない方がいいと思いますよ!
0924918:この場合は?
NGNGif( 0 < foo.bar( arg1, arg2, ..., argn ) )
0925デフォルトの名無しさん
NGNGfoo.barがどういう役割かによる
0926デフォルトの名無しさん
NGNG一旦変数に受ければ?
デバッガで追うときも楽だし・・・
0927デフォルトの名無しさん
NGNGif(a=0) を防げても if(a==b)のつもりでif(a=b)って間違いが防げないってことだ。
0928デフォルトの名無しさん
NGNG大変便利です。
0929デフォルトの名無しさん
NGNG激しく同意!!
むしろC言語など使うなに一票。
0931デフォルトの名無しさん
NGNG/* ここでretvalの値を使ったり */
}
こういう書き方はやっぱりやばいですか?マジ代入の意味なんですが。
単に
if((retval=foo())!=0){
}
と書くのが面倒なだけですが。
0932デフォルトの名無しさん
NGNG#define equals(a,b)
#define notequals(a,b)
を使うことをプログラマに強制する。
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGif (retval){
}
の方が好き。
0935デフォルトの名無しさん
NGNG禿しく同意。
printfデバッグや仕様変更時に修正量が結局一番少ないのが
ifの条件式を単純にすることと悟った。12年ぐらいプログラミング
してるけども。
0936デフォルトの名無しさん
NGNGそもそも、二重になってないやん(変数 = 変数の場合)
0937デフォルトの名無しさん
NGNG戻り値にエラーと正常値を混在させるな、と言ってたのは WRITING SOLID CODE
だっけ?
0938デフォルトの名無しさん
NGNG#define error_if_zero
#define error_if_nonzero
を空宣言して関数につけるようにしてる
0939デフォルトの名無しさん
NGNGユーザ関数をそう設計しても標準ライブラリやシステムコールが
旧態依然とした戻り値にエラーと正常値を混在させるものだから
どうにもこうにもって感じだな。
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG#define PUBLIC
#defone PRIVATE extern
としといて
PRIVATE funcA(〜)
PUBLIC funcB(〜)
とするのはやめようよ。
CなのにC++を簡易的(安易)に取り入れた規約決めんといてくれよ。
0942デフォルトの名無しさん
NGNG#define PRIVATE static
ではなくて?
0943デフォルトの名無しさん
NGNGすまそ。その通りです。
泥酔気味なので許して。
0945デフォルトの名無しさん
NGNG(定数==変数)←こんな書き方してるのはなかったな。
0946デフォルトの名無しさん
NGNG==を体が覚えるほうが先だった。
結局、==のつもりで=って書いたバグに悩まされ
たのは、2回だけだった。
そんな俺が最初に使ったのはLattice C 2.0
N88-BASIC+アセンブラからの移行組。
(定数==変数)は、バカなコーディング規約だ、に1票。
0947デフォルトの名無しさん
NGNG一票
0948デフォルトの名無しさん
NGNG一票。
小手先のほとんど意味のないテクニックに走って、
コードの読みやすさを犠牲にすることはない。
0949デフォルトの名無しさん
NGNG== の左に定数を置くのも、たぶん「慣れれば違和感がない」と思う。
でも現実問題として、
1. そうなってないソースコードが大半で
2. かつ、違和感を感じる人間も多く
3. 現実問題として、別の解決方法で十分
って状況だと、デメリットの方が大きいよな。
0950デフォルトの名無しさん
NGNGそれじゃ演算子うっかり書き間違うのと危険に大差ない。
>>946に一票だな。コンパイラが強制しないものを
コーディング規約で強制するのはバカ。
0951デフォルトの名無しさん
NGNG946 には一票投じておくが、
> コンパイラが強制しないものを
> コーディング規約で強制するのはバカ。
コーディング規約は、そもそもコンパイラが強制しないものをルール化したも
のと思われ。たとえば変数名だと、コンパイラは
a, b, c, d, e, ..., aa, ab, ..
でも文句を言わんが、そんなソースをメンテナンスするのは嫌だろ。
(揚げ足取り気味ですまん)
0952デフォルトの名無しさん
NGNG>コーディング規約は、そもそもコンパイラが強制しないものをルール化したもの
に5票
C/C++で(定数==変数)としている人に逆にしろと強制はしないと思うが強制される
(コーディング規約にされる)のは断固拒否します。
0953デフォルトの名無しさん
NGNGスキルの高い人の間では。
0954デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG>>946は1週間だけCをさわたのかもしれないけど(w
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNGVisual C++の前身のMicrosoft Cの初期のバージョンのOEM元、つまりは
DOSで初期によく使われてたC言語処理系
0960デフォルトの名無しさん
NGNGといっても BASIC 育ちで Java 経由の C++ 使いなので
C と C++ 以外では 変数 == 定数 って書くし、
何故か NULL 以外だとうっかり普段の癖が出るんだけど。
( NULL == xxx の時だけは絶対忘れないのは何故だろう?)
やっぱり直感的なのは 変数 == 定数だよね。
0961930
NGNG&& 946==2ちゃんねらー)
{
946 = 厨房オヤヂ;
}
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGこれをすすめる人って、なぜか「初心者向け掲示板」みたいな
レベルの低いコミュニティーにしか現れないよな。
0965デフォルトの名無しさん
NGNGCODE COMPLETE (だったか?) あたりでも勧めてたから、そうとも言い
切れん。
0966デフォルトの名無しさん
NGNG安全のために左側に定数を書くだろうなあ。
0967デフォルトの名無しさん
NGNGの利点はわからないこともないが、感覚的に不自然で読みにくい。
なれれば平気というかもしれないが、無理にそんなことに慣れることに労力を払うほどのメリットを感じない。
0968デフォルトの名無しさん
NGNG何ページで?
CODE COMPLETE は 変数==定数 のスタイルじゃん。
三田某とか評判の悪いやつが定数==変数進めてたのって知ってるけど。
0969デフォルトの名無しさん
NGNGそのスタイルは、日本だと三田典玄がCマガで
「プロならこう書く」と言ってからよく言われるように
なったような気がするなぁ。
Cマガもいいけど、ほかの本も読んでほしいよ。
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG利点といってもほとんど意味ないじゃん。
0972デフォルトの名無しさん
NGNG対処できるので、不要<定数==変数
0973デフォルトの名無しさん
NGNG俺しばらくつかってないから知らないんだけど。
0974965
NGNG確認してみたが CODE COMPLETE じゃなくて「Windows プログラマのための
デバッグテクニック 徹底解説」だった。著者は NuMega 社で BoundsChecker
や SoftICE の開発に関わってたそうだから、デバッグのプロだよね。
(俺個人は 変数 == 定数 だけど)
0975930
NGNGスレ読んでますか。
定数左を否定してないだけで、自分はそうしてると言った憶えない。
あえて反論述べてるワケだから煽り中であることは否定せんけど。
# 定数 == 関数(のreturn値) はたまに使う。
0976デフォルトの名無しさん
NGNGってすれば万事解決だろ。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG自分の書いたの読んでますか?
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG#define ne !=
#define le <=
#define lt <
#define ge >=
#define gt >
・・・じゃダメ?
というのは冗談だけど、「定数==変数」は読みづらい。
変数同士でも被比較側になるべき値が右辺に来ると読みづらいし。
0981デフォルトの名無しさん
NGNG何年かマトモにやっときゃ自然に「思考の流れに沿ってコード書く」になるはずだが...
# >>907より陰毛。
0984デフォルトの名無しさん
NGNG言語仕様で強制できないと意味なし
0985デフォルトの名無しさん
NGNGコーディング規約は、処理系によって強制されないお約束をまとめた
ものです。>>980 は C の
記号を多用して、可読性をあげる
(慣れるまでは暗号に見えるが、ある程度慣れれば、さくさく読める)
というメリットを思い切り損なうから、俺は嫌だけど。
レス数が950を超えています。1000を超えると書き込みができなくなります。