バッドノウハウについて語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGあげるもよし、「お前、バッドノウハウって言いたいだけちゃうんかと」と異議を唱えるのも
よし、あるいは「ハッドノウハウとどう向き合うべきか?」という話をするのもよいのでは
ないかと思います。
バッドノウハウの定義などについては>>2以降で
0184名無しさん@お腹いっぱい。
NGNG0185名無しさん@お腹いっぱい。
NGNGそもそも「思考停止」って言葉が俺用語なわけで。
0186名無しさん@お腹いっぱい。
NGNGアリゴリズム もしらない低能発見。なんちて。
0187名無しさん@お腹いっぱい。
NGNG0188名無しさん@お腹いっぱい。
NGNG0189名無しさん@お腹いっぱい。
NGNG0190名無しさん@お腹いっぱい。
NGNG明 ←これって明治大学のこと意味したりもするじゃん。
コンピュータとかネットワークの世界ってこういうの多すぎ。
0191名無しさん@お腹いっぱい。
NGNG0192名無しさん@お腹いっぱい。
NGNG0193名無しさん@お腹いっぱい。
NGNG0194名無しさん@お腹いっぱい。
NGNGで、そもそも「俺用語」って言葉も俺用語なわけだな。
0195名無しさん@お腹いっぱい。
NGNGそうだな。正式な言葉に直すと、「意味不明」が適当な俺用語だ。
0196名無しさん@お腹いっぱい。
NGNGmsg messege
ctl control
fmt format
cmd command
こういったやつの辞書が欲しい。これがソースコードを解読
また、コードを書く時の変数関数名に関するガイドラインになる。
プログラミング言語の形式的でない言語学もそろそろ必要かと。
0197名無しさん@お腹いっぱい。
NGNG変換規則の明示じゃダメか? 難しすぎかな。
頭が悪い人向けの情報が必要だというのは分かるが。
0198名無しさん@お腹いっぱい。
NGNG0. 3文字になるまで以下の規則を適用する
1. 先頭以外の母音を除く
2. 重なった子音を1つにする
3. 音節頭以外の子音を除く
4. 3文字になるまで末尾以外の文字を末尾から取り除いていく
たいていは2. まででも十分だと思う
0199名無しさん@お腹いっぱい。
NGNGいい加減なのじゃ大して役に立たないんだけど。
0200名無しさん@お腹いっぱい。
NGNGいけないのに、それがうまくできないんじゃ
略してる意味ないどころか、害悪だよな。
0201名無しさん@お腹いっぱい。
NGNG分からなかったらリブートもバッドノウハウ。
原因が分からずに再インストールもバッドノウハウ。
0202名無しさん@お腹いっぱい。
NGNG自然言語の単語 → 略記号
これの規則だけじゃ変数関数名をつけるときにしか役立たない。
略記号 → 自然言語の単語
これが必要だってこと。まあこんなメンドクサイこと誰もやらんか。
0203名無しさん@お腹いっぱい。
NGNGbuf buffer
ptr pointer
str string
0204名無しさん@お腹いっぱい。
NGNGsig signal
sem semaphore
src source
net network
dev device
compat compatibility
bin binary
attr attribute
dir directory
usr user
proc process,procedure
sym symbol
0205名無しさん@お腹いっぱい。
NGNG0206名無しさん@お腹いっぱい。
NGNGcomp compress
ver version
div division
rw read/write
gen generate
con console
mem memory
0207名無しさん@お腹いっぱい。
NGNGcntl control
def definition
addr address
prot protection
ret return
val value
subr subroutine
pos position
opt option
arg argument
0208名無しさん@お腹いっぱい。
NGNG0209名無しさん@お腹いっぱい。
NGNGreg register, registry, region, regular
sec second, security, section
dev device, development
cur current, cursor
0210名無しさん@お腹いっぱい。
NGNGsock socket
tok token
tun tunnel
dep dependency
0211名無しさん@お腹いっぱい。
NGNGhttp://www.am.ics.keio.ac.jp/parthenon/unix-term-dic.html
>usr (ディレクトリ名) [ゆーざ] [ゆー・えす・あーる] [ゆーずる]
>"USeR" の略。 と、誰もが(?)思っていたが、米国のユーザグループ UniForum が発行している機関誌 CommUNIXations(May/ June 1989)
からの転載ということで、 JUS の /etc/wall No.8/1990/May に載っていた 「UNIX Trivia -- UNIX に関するクイズ100問」によると、 "User Services and Routines" の略だそうである。
0212名無しさん@お腹いっぱい。
NGNGbrdg bridge
req request
prm parameter
var variable
len length
ck check
seq sequence
systm system
0213名無しさん@お腹いっぱい。
NGNGtbl table
cap capture
cmp compare
auth authentication
desc description
ops operations
std standard
0214名無しさん@お腹いっぱい。
NGNGexpr expression
phys physics
pri priority
sel select
ent entry
que queue
cpy copy
pwr power
perm permission
seg segment
prof profile
cnt count
0215名無しさん@お腹いっぱい。
NGNG0216名無しさん@お腹いっぱい。
NGNGmag magic
num number
blk block
elm element
prev previous
pr per
まあUNIXはいいとしても、その流儀みたいなのは
ろくなもんじゃないってことです。おしまい。
0217統一してくれ
NGNGservice -> serv svc srv
0218名無しさん@お腹いっぱい。
NGNG0219名無しさん@お腹いっぱい。
NGNG0220名無しさん@お腹いっぱい。
NGNG0221名無しさん@お腹いっぱい。
NGNGC runtime
0222名無しさん@お腹いっぱい。
NGNG0223名無しさん@お腹いっぱい。
NGNGyho -> Yahoo
0224名無しさん@お腹いっぱい。
NGNG特に、短い変数名と長い変数名の使い分けに関しては、
カーニハン&パイク『プログラミング作法』の
第1章第1節「名前」が良くまとまっていていいね。
「グローバルにはわかりやすい名前を、ローカルには短い名前を」
みたいな話。
0225名無しさん@お腹いっぱい。
NGNG0226名無しさん@お腹いっぱい。
NGNGその本に出てくるeprintfという関数は名前のつけ方がよくないと思う。
0227名無しさん@お腹いっぱい。
NGNG読んでないから知らないのだけど、eprintfは何をする関数なの?
0228名無しさん@お腹いっぱい。
NGNGいつも次第に低レベルになってくんだよな。
0229名無しさん@お腹いっぱい。
NGNGバッドノウハウに関する議論→バッドノウハウ
じゃないの?
0230名無しさん@お腹いっぱい。
NGNGいちいち知りたくも無いバッドノウハウについて調べなければならないことが
バッドノウハウです。
0231名無しさん@お腹いっぱい。
NGNG0232名無しさん@お腹いっぱい。
NGNGそれを教えないとバカが計算機を使いこなすことができないためにしぶしぶ教えなければならない、
といった類いのノウハウは多い。そうした雑多なノウハウのことを、本来は教えたくもないノウハウ
という意味で、私はバカノウハウと呼んでいる。
0233名無しさん@お腹いっぱい。
NGNG0234名無しさん@お腹いっぱい。
NGNG0235名無しさん@お腹いっぱい。
NGNG0236名無しさん@お腹いっぱい。
NGNG0237名無しさん@お腹いっぱい。
NGNGノウハウなんて糞ばっかりだよな。それをセンスなどと
自画自賛してる。マジで死ねよ。
0238名無しさん@お腹いっぱい。
NGNG0239名無しさん@お腹いっぱい。
NGNG0240名無しさん@お腹いっぱい。
NGNG0241名無しさん@お腹いっぱい。
NGNG0242名無しさん@お腹いっぱい。
NGNGstderrに文字列を出力してからプログラムを終了する関数。
printfのstdoutのところがstderrになっているわけ。
Perlのdieみたいなもん。
>>226
プログラムの終了に関することが名前に含まれていないってことかな?
この関数は最終的にプログラムを終了するわけだから、
出力だけに着目してprintf系列の名前を付けるのはよくないな。
0243名無しさん@お腹いっぱい。
NGNGこれは面白かったので、私もちょっとjokeを:-)
『一般に、バカと呼ばれる人種は普通の人なら直ちに分かるようなことさえ
全く理解できないものだが、これがバカユーザになると
「私が計算機を使いこなせないのはバッドノウハウのせいだ」といって
バッドノウハウを喜んで唱えたがる「バッドノウハウ症候群」に
なりやすいようである。また、バッドノウハウと決めけることによって、
自分の無能さをごまかすことが出来るだろうという心理的な働きも
「バッドノウハウ症候群」を進行させる一因となっているようだ。
本来ちょっとした努力で使えるソフトウェアが長年に渡って
「バッドノウハウ」の定番としておとしめられ、そのソフトウェアが不当な非難に
甘んじなければならないのは、この「バッドノウハウ症候群」に根深い原因が
あるのではないかと考えている。』
0244名無しさん@お腹いっぱい。
NGNGお前等にはどうしてWindowsが売れているのか
永遠に理解出来ないだろうな。Windowsが売れているのは
MSが独占行為をしているからニダ!とかいうんだろうな。
それは消費者が言うことであって、技術者の言葉じゃねえよ。
今時消費者に歩みよらないようなものは売れません。
エンジニアに売ることすらも今後は厳しくなっていくでしょう。
0245名無しさん@お腹いっぱい。
NGNG( ‘∇‘) どうしてWindowsは売れているの?
0246名無しさん@お腹いっぱい。
NGNGWindowsは有料で*BSDは無料だからです。
0247名無しさん@お腹いっぱい。
NGNG0248名無しさん@お腹いっぱい。
NGNG( ‘∇‘) そんな当たり前なこと言っちゃ悪いよ。きっともうすぐ>>244さんが面白いこと言うよ♪
0249名無しさん@お腹いっぱい。
NGNGひょっとしてご本人? 誰にせよ、所詮2chで便所の落書きみたいなもんだから
あまりまじめに受け止めないほうがいいと思うよ。
0250244レス予想
NGNG作られてるんだから売れるに決まってるだろ。
Unixみたいな使い勝手が悪いOSとは違うんだよ。
0251名無しさん@お腹いっぱい。
NGNGC++流に型名にアスタリスクつけるべきだよな
0252名無しさん@お腹いっぱい。
NGNG0253名無しさん@お腹いっぱい。
NGNGどうしてそれが「C++流」だと思い込んだのですか?
0254名無しさん@お腹いっぱい。
NGNGCでそんなソースは見たことないし、
C++でC流に書いてるのは逆に少数派だからです。
他の言語については知りません。
0255名無しさん@お腹いっぱい。
NGNGそれってわざと別々の流儀にしてるんじゃなかったっけ?
CとC++を区別しやすくするためだったような…って、詳しい理由は
忘れてもうた。_| ̄|◯
0256名無しさん@お腹いっぱい。
NGNG0257名無しさん@お腹いっぱい。
NGNG0258名無しさん@お腹いっぱい。
NGNG0259名無しさん@お腹いっぱい。
NGNGこういう書き方は気持ち悪いな。こういう書き方をする人って
ポインタへのポインタとかポインタへのポインタへのポインタとか
どうやって書いてるんですかね?
char* p, q;
こういうのも紛らわしくなるし。
型名にアスタリスクをくっつけて書くの反対〜。
0260名無しさん@お腹いっぱい。
NGNGネタだよーといって逃げる奴が多く出現する時期が年に数度ある。
>>257が伝統と感じているなら、ちょうどその時期にこの板に来ることが多いからではないのかな。
0261名無しさん@お腹いっぱい。
NGNG>ポインタへのポインタとかポインタへのポインタへのポインタとか
C++で書くときは char** や char*** ですけど。
>char* p, q;
>こういうのも紛らわしくなるし。
このバッドノウハウを挙げると必ず宣言文の例を挙げる人がいますが、
(char*)と(char)を一つの文で宣言することの方がおかしいと思いませんか?
本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
強すぎて・・・
0262名無しさん@お腹いっぱい。
NGNGん〜そうじゃなくて、 char* p, q; が実は
p も q もポインタとして宣言しようとして失敗しているという事。
ポインタへのポインタとかポインタへのポインタへのポインタとか
1回で2つ以上の変数を宣言する時に、
char *p, *q;
ならわかるけど、
char* p, * q;
とか書くのか?対称性が悪いだろ。
0263名無しさん@お腹いっぱい。
NGNG0264名無しさん@お腹いっぱい。
NGNG一つ断っておきますが、Cの流儀は"伝統"なのでそれは別にいいんです。
そうじゃなくて、C++にまでC流の考え方を持ち込もうとする困った人達の
存在です。郷に入れば郷に従え、です。
>char* p, * q;
C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
今のところは。
0265名無しさん@お腹いっぱい。
NGNGプログラムを書いていると、何でこんな書き方をしないといけないのだろうか、とストレスを感じつつも、
それに従わないとコードレビュー時に文句をいわれるためにしぶしぶ従わなければならない、
といった類いの規約は多い。そうした雑多な規約のことを、本来は従いたくも無い規約
という意味で、私はバッドスタンダードと呼んでいる。
0266名無しさん@お腹いっぱい。
NGNGC++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
それは貴方の周辺での流儀なだけでは。
C++だから、1文で複数の変数の宣言をしないというのも聞いたことが無い。
それも貴方の周辺での流儀なだけだと思うがどうか。
0267名無しさん@お腹いっぱい。
NGNGC++でコード書くときはGCCのSTLをたまに参考にしますが、
TYPE* typ;
TYPE& typ;
となってますね。boostなどは無用な宗教論争を避けるためか
TYPE * typ;
TYPE & typ;
となってますが。
0268名無しさん@お腹いっぱい。
NGNG>本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
>強すぎて・・・
とか言われてもね。
バッドノウハウっていう単語が必要になる人種というのも存在するのかもしれない。
0269259他
NGNGTYPE *obj;
と書くのはそれなりに合理的理由があるからと。
C,C++ の言語仕様で * の及ぶ範囲が右隣のオブジェクトのみ
となっているのだから、これが覆らない限り型名にアスタリスクを付けて
書くのは対称性も変だし勘違いしやすそうだから反対と。
別にCをやってるからとかそういう理由じゃないです。
個人的に gnu は昔から書き方に癖があるのであんまり参考にしてないし。
変数宣言では TYPE* obj; なのにプロトタイプの引数では TYPE *obj
になってたりして、さらに一貫性をなくしている。
以上です。そろそろ疲れたので今日はさようなら。
0270名無しさん@お腹いっぱい。
NGNG0271名無しさん@お腹いっぱい。
NGNG素人言語学者vs三文文士?
0272名無しさん@お腹いっぱい。
NGNG> C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
> 今のところは。
そりゃそうだ。だって"char* p"っていう書き方だときれいに書けないんだか
ら。だから「見たことない」じゃ説明にならんだろ。むしろ他の型ならふたつ
以上を同時に宣言できるのに、ポインタだけは(すなおには)できないという欠
点を晒してるわけ。
0273名無しさん@お腹いっぱい。
NGNG>C++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
>それは貴方の周辺での流儀なだけでは。
おまえ、人の無知を疑う前に、自分の無知を疑った方がいいぞ。
0274名無しさん@お腹いっぱい。
NGNGだと判断して良いのでしょうか?
だとしたら
grep " ¥*" `find /usr/src/ -name "*.cpp"`
とやればたくさん char *value っていうような変数名にアスタリスクをつけた
ソースが見つかるのですが…。ちなみにOpenSSL-0.9.7のソースで結構
見つかりました。
0275名無しさん@お腹いっぱい。
NGNGあと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
0276名無しさん@お腹いっぱい。
NGNG`find /usr/src/ -name "*.cpp"`
って部分が新鮮だった。
xargs使わんの?
0277名無しさん@お腹いっぱい。
NGNG>あと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
いや、だからC++では”char* hoge”っていうように*を型につけるのが当たり前
と言っている人がいるので『変数名に*をつけているソースがありますよ』と
アピールしてみたのです。
>>276
`xxx`っていう書き方に慣れてしまったのでどんな時もこの方法です。
頭使わなくていいので…。
0278名無しさん@お腹いっぱい。
NGNG人それぞれだよ。
とりあえず、望むことができればいいんでない?
0279名無しさん@お腹いっぱい。
NGNGそうならないよう xargs を使いましょう。
……というのはバッドノウハウなんだろうか。
0280名無しさん@お腹いっぱい。
NGNG0281名無しさん@お腹いっぱい。
NGNG> Cとかcxxとかccの場合もあるぞ。
Mozilla.orgのportability guideには.cppを使えとか書かれている。
実はgroffのソースの拡張子も.ccだったけど、最近になって.cppに
変更されている。gtkmmはなぜか.ccのままでMSVCでbuildする場合のみ
スクリプト使って.cppに変えるという、まわりくどいことをしてるが…
0282名無しさん@お腹いっぱい。
NGNGhttp://2.pro.tok2.com/~mg7/cm/pc.htm
0283名無しさん@お腹いっぱい。
NGNG又「業界標準」が絶対だとも思わないし、
コンピュータ言語と言う括りで流儀を決められるのも変だと思う。
これを解決する伝統的な方法はあるけど、機が熟していない。
0284名無しさん@お腹いっぱい。
NGNGスタイルに関する宗教とバッドノウハウとは似ているようで完全には
一致しないものだけど、「流儀」の意味が人によって少しずつ違う
というのもあるかもね。
- C++の「流儀」として権威があると思うのは何ですか?
-「流儀」にはどのぐらい強制力を感じますか?
■ このスレッドは過去ログ倉庫に格納されています