トップページunix
1001コメント277KB

バッドノウハウについて語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
バッドノウハウについてあれこれ語りましょう。例えばUNIXにおけるバッドノウハウの事例を
あげるもよし、「お前、バッドノウハウって言いたいだけちゃうんかと」と異議を唱えるのも
よし、あるいは「ハッドノウハウとどう向き合うべきか?」という話をするのもよいのでは
ないかと思います。

バッドノウハウの定義などについては>>2以降で
0184名無しさん@お腹いっぱい。NGNG
バッドサイデリア〜
0185名無しさん@お腹いっぱい。NGNG
>>170
そもそも「思考停止」って言葉が俺用語なわけで。
0186名無しさん@お腹いっぱい。NGNG
>>183
アリゴリズム もしらない低能発見。なんちて。
0187名無しさん@お腹いっぱい。NGNG
googleによれば、アリゴリズムは結構有名みたいですが。
0188名無しさん@お腹いっぱい。NGNG
http://www.google.co.jp/search?q=%E3%82%B4%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0189名無しさん@お腹いっぱい。NGNG
アリゴリズムたいそう
0190名無しさん@お腹いっぱい。NGNG
変な略仕方の辞書みたいなのあるといいな。
明 ←これって明治大学のこと意味したりもするじゃん。
コンピュータとかネットワークの世界ってこういうの多すぎ。
0191名無しさん@お腹いっぱい。NGNG
変数名のつけ方に関する略語のルール一覧とかあったら素晴らしい。
0192名無しさん@お腹いっぱい。NGNG
変数名を略すな。
0193名無しさん@お腹いっぱい。NGNG
今時、関数名なんざIDEで補完してくれるから略するなとは思う。
0194名無しさん@お腹いっぱい。NGNG
>>185
で、そもそも「俺用語」って言葉も俺用語なわけだな。
0195名無しさん@お腹いっぱい。NGNG
>>194
そうだな。正式な言葉に直すと、「意味不明」が適当な俺用語だ。
0196名無しさん@お腹いっぱい。NGNG
mgr manager
msg messege
ctl control
fmt format
cmd command

こういったやつの辞書が欲しい。これがソースコードを解読
また、コードを書く時の変数関数名に関するガイドラインになる。
プログラミング言語の形式的でない言語学もそろそろ必要かと。
0197名無しさん@お腹いっぱい。NGNG
>>196
変換規則の明示じゃダメか? 難しすぎかな。

頭が悪い人向けの情報が必要だというのは分かるが。
0198名無しさん@お腹いっぱい。NGNG
3文字省略形変換規則をそれらしくでっちあげ

0. 3文字になるまで以下の規則を適用する
1. 先頭以外の母音を除く
2. 重なった子音を1つにする
3. 音節頭以外の子音を除く
4. 3文字になるまで末尾以外の文字を末尾から取り除いていく

たいていは2. まででも十分だと思う
0199名無しさん@お腹いっぱい。NGNG
規則っていってもさ「大体こんな感じ」みないな
いい加減なのじゃ大して役に立たないんだけど。
0200名無しさん@お腹いっぱい。NGNG
あと、略語から本当の単語を推理しなくちゃ
いけないのに、それがうまくできないんじゃ
略してる意味ないどころか、害悪だよな。
0201名無しさん@お腹いっぱい。NGNG
変数名を略すのはバッドノウハウ。
分からなかったらリブートもバッドノウハウ。
原因が分からずに再インストールもバッドノウハウ。
0202名無しさん@お腹いっぱい。NGNG
>>198
自然言語の単語 → 略記号
これの規則だけじゃ変数関数名をつけるときにしか役立たない。
略記号 → 自然言語の単語
これが必要だってこと。まあこんなメンドクサイこと誰もやらんか。
0203名無しさん@お腹いっぱい。NGNG
自分で作れ。

buf buffer
ptr pointer
str string
0204名無しさん@お腹いっぱい。NGNG
svc service
sig 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名無しさん@お腹いっぱい。NGNG
dqn
0206名無しさん@お腹いっぱい。NGNG
util utility
comp compress
ver version
div division
rw read/write
gen generate
con console
mem memory
0207名無しさん@お腹いっぱい。NGNG
rnd random
cntl control
def definition
addr address
prot protection
ret return
val value
subr subroutine
pos position
opt option
arg argument
0208名無しさん@お腹いっぱい。NGNG
うーむ、バッドノウハウ。
0209名無しさん@お腹いっぱい。NGNG
exp exponential, expression, experimental
reg register, registry, region, regular
sec second, security, section
dev device, development
cur current, cursor
0210名無しさん@お腹いっぱい。NGNG
fil filter
sock socket
tok token
tun tunnel
dep dependency
0211名無しさん@お腹いっぱい。NGNG
>204
http://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名無しさん@お腹いっぱい。NGNG
priv privilege,private
brdg bridge
req request
prm parameter
var variable
len length
ck check
seq sequence
systm system
0213名無しさん@お腹いっぱい。NGNG
hdr header
tbl table
cap capture
cmp compare
auth authentication
desc description
ops operations
std standard
0214名無しさん@お腹いっぱい。NGNG
mach machine
expr expression
phys physics
pri priority
sel select
ent entry
que queue
cpy copy
pwr power
perm permission
seg segment
prof profile
cnt count
0215名無しさん@お腹いっぱい。NGNG
つまらんからよそのスレに張りつけてくれ。
0216名無しさん@お腹いっぱい。NGNG
cred credential
mag magic
num number
blk block
elm element
prev previous
pr per


まあUNIXはいいとしても、その流儀みたいなのは
ろくなもんじゃないってことです。おしまい。
0217統一してくれNGNG
control -> ctl ctrl cntl
service -> serv svc srv
0218名無しさん@お腹いっぱい。NGNG
nlp
0219名無しさん@お腹いっぱい。NGNG
ggg
0220名無しさん@お腹いっぱい。NGNG
crt*.oのcrtってなんの略でしょうか?
0221名無しさん@お腹いっぱい。NGNG
>>220
C runtime
0222名無しさん@お腹いっぱい。NGNG
>>218-219 wrt
0223名無しさん@お腹いっぱい。NGNG
ggl -> Google
yho -> Yahoo
0224名無しさん@お腹いっぱい。NGNG
うまい変数名の付け方、
特に、短い変数名と長い変数名の使い分けに関しては、
カーニハン&パイク『プログラミング作法』の
第1章第1節「名前」が良くまとまっていていいね。

「グローバルにはわかりやすい名前を、ローカルには短い名前を」
みたいな話。
0225名無しさん@お腹いっぱい。NGNG
ローカル変数なんてi,j,k x,y,zでいいんだよ。
0226名無しさん@お腹いっぱい。NGNG
>>224
その本に出てくるeprintfという関数は名前のつけ方がよくないと思う。
0227名無しさん@お腹いっぱい。NGNG
>>226
読んでないから知らないのだけど、eprintfは何をする関数なの?
0228名無しさん@お腹いっぱい。NGNG
今度は変数名の変換規則かよ… バッドノウハウに関する議論てのは
いつも次第に低レベルになってくんだよな。
0229名無しさん@お腹いっぱい。NGNG
>>228
バッドノウハウに関する議論→バッドノウハウ
じゃないの?
0230名無しさん@お腹いっぱい。NGNG
バッドノウハウという言葉が一般的になり、バッドノウハウ厨に粘着されないためにも
いちいち知りたくも無いバッドノウハウについて調べなければならないことが
バッドノウハウです。
0231名無しさん@お腹いっぱい。NGNG
バカノウハウを教えて下さい。
0232名無しさん@お腹いっぱい。NGNG
バカに計算機を使わせていると、何でこんなことを教えないといけないのだろうか、とストレスを感じつつも、
それを教えないとバカが計算機を使いこなすことができないためにしぶしぶ教えなければならない、
といった類いのノウハウは多い。そうした雑多なノウハウのことを、本来は教えたくもないノウハウ
という意味で、私はバカノウハウと呼んでいる。
0233名無しさん@お腹いっぱい。NGNG
バカ日本地図はバカノウハウ
0234名無しさん@お腹いっぱい。NGNG
バッドハウハウ
0235名無しさん@お腹いっぱい。NGNG
バッドハァハァ
0236名無しさん@お腹いっぱい。NGNG
バカウハウハ
0237名無しさん@お腹いっぱい。NGNG
計算機やってる馬鹿が勝手にでっち上げたような
ノウハウなんて糞ばっかりだよな。それをセンスなどと
自画自賛してる。マジで死ねよ。
0238名無しさん@お腹いっぱい。NGNG
バッド☆まうまう
0239名無しさん@お腹いっぱい。NGNG
確定申告
0240名無しさん@お腹いっぱい。NGNG
既出だが、やっぱり"sendmail.cf"
0241名無しさん@お腹いっぱい。NGNG
.procmailrc
0242名無しさん@お腹いっぱい。NGNG
>>227
stderrに文字列を出力してからプログラムを終了する関数。
printfのstdoutのところがstderrになっているわけ。
Perlのdieみたいなもん。

>>226
プログラムの終了に関することが名前に含まれていないってことかな?
この関数は最終的にプログラムを終了するわけだから、
出力だけに着目してprintf系列の名前を付けるのはよくないな。
0243名無しさん@お腹いっぱい。NGNG
>>232
これは面白かったので、私もちょっとjokeを:-)

『一般に、バカと呼ばれる人種は普通の人なら直ちに分かるようなことさえ
全く理解できないものだが、これがバカユーザになると
「私が計算機を使いこなせないのはバッドノウハウのせいだ」といって
バッドノウハウを喜んで唱えたがる「バッドノウハウ症候群」に
なりやすいようである。また、バッドノウハウと決めけることによって、
自分の無能さをごまかすことが出来るだろうという心理的な働きも
「バッドノウハウ症候群」を進行させる一因となっているようだ。

本来ちょっとした努力で使えるソフトウェアが長年に渡って
「バッドノウハウ」の定番としておとしめられ、そのソフトウェアが不当な非難に
甘んじなければならないのは、この「バッドノウハウ症候群」に根深い原因が
あるのではないかと考えている。』

0244名無しさん@お腹いっぱい。NGNG
>>232,>>243
お前等にはどうしてWindowsが売れているのか
永遠に理解出来ないだろうな。Windowsが売れているのは
MSが独占行為をしているからニダ!とかいうんだろうな。
それは消費者が言うことであって、技術者の言葉じゃねえよ。

今時消費者に歩みよらないようなものは売れません。
エンジニアに売ることすらも今後は厳しくなっていくでしょう。
0245名無しさん@お腹いっぱい。NGNG
>>244
( ‘∇‘) どうしてWindowsは売れているの?
0246名無しさん@お腹いっぱい。NGNG
>>245
Windowsは有料で*BSDは無料だからです。
0247名無しさん@お腹いっぱい。NGNG
UNIX にもバカの壁
0248名無しさん@お腹いっぱい。NGNG
>>246
( ‘∇‘) そんな当たり前なこと言っちゃ悪いよ。きっともうすぐ>>244さんが面白いこと言うよ♪
0249名無しさん@お腹いっぱい。NGNG
このスレ読むと、何度もネタにマジ切れしている人がいるみたいだけど、
ひょっとしてご本人? 誰にせよ、所詮2chで便所の落書きみたいなもんだから
あまりまじめに受け止めないほうがいいと思うよ。


0250244レス予想NGNG
WindowsにはUnixみたいなバッドノウハウが存在しないよう
作られてるんだから売れるに決まってるだろ。
Unixみたいな使い勝手が悪いOSとは違うんだよ。
0251名無しさん@お腹いっぱい。NGNG
char *cp;
C++流に型名にアスタリスクつけるべきだよな
0252名無しさん@お腹いっぱい。NGNG
BSD* free;
0253名無しさん@お腹いっぱい。NGNG
>>251
どうしてそれが「C++流」だと思い込んだのですか?
0254名無しさん@お腹いっぱい。NGNG
>>253
Cでそんなソースは見たことないし、
C++でC流に書いてるのは逆に少数派だからです。
他の言語については知りません。
0255名無しさん@お腹いっぱい。NGNG
>>254
それってわざと別々の流儀にしてるんじゃなかったっけ?
CとC++を区別しやすくするためだったような…って、詳しい理由は
忘れてもうた。_| ̄|◯
0256名無しさん@お腹いっぱい。NGNG
ポインタがそんなに珍しいの?
0257名無しさん@お腹いっぱい。NGNG
ネタにマジレスが殺到するのは雲丹板の伝統
0258名無しさん@お腹いっぱい。NGNG
ネタ扱いされた挙句、マジレス攻撃で返せなくなってあっというまに敗走してしまう感じがするな。
0259名無しさん@お腹いっぱい。NGNG
char* p;

こういう書き方は気持ち悪いな。こういう書き方をする人って
ポインタへのポインタとかポインタへのポインタへのポインタとか
どうやって書いてるんですかね?

char* p, q;

こういうのも紛らわしくなるし。
型名にアスタリスクをくっつけて書くの反対〜。
0260名無しさん@お腹いっぱい。NGNG
普段はそれほどでもなくても、ネタにしか見えない書き込みやそれにマジレスしてしまう奴や、
ネタだよーといって逃げる奴が多く出現する時期が年に数度ある。

>>257が伝統と感じているなら、ちょうどその時期にこの板に来ることが多いからではないのかな。
0261名無しさん@お腹いっぱい。NGNG
>>259
>ポインタへのポインタとかポインタへのポインタへのポインタとか
C++で書くときは char** や char*** ですけど。

>char* p, q;

>こういうのも紛らわしくなるし。

このバッドノウハウを挙げると必ず宣言文の例を挙げる人がいますが、
(char*)と(char)を一つの文で宣言することの方がおかしいと思いませんか?

本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
強すぎて・・・
0262名無しさん@お腹いっぱい。NGNG
>>261
ん〜そうじゃなくて、 char* p, q; が実は
p も q もポインタとして宣言しようとして失敗しているという事。

ポインタへのポインタとかポインタへのポインタへのポインタとか
1回で2つ以上の変数を宣言する時に、
char *p, *q;
ならわかるけど、
char* p, * q;
とか書くのか?対称性が悪いだろ。
0263名無しさん@お腹いっぱい。NGNG
今がその時期なん?
0264名無しさん@お腹いっぱい。NGNG
>>262
一つ断っておきますが、Cの流儀は"伝統"なのでそれは別にいいんです。
そうじゃなくて、C++にまでC流の考え方を持ち込もうとする困った人達の
存在です。郷に入れば郷に従え、です。

>char* p, * q;
C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
今のところは。
0265名無しさん@お腹いっぱい。NGNG
統一性とか一貫性とかを過度に追及してしまうのは潔癖症候群?

プログラムを書いていると、何でこんな書き方をしないといけないのだろうか、とストレスを感じつつも、
それに従わないとコードレビュー時に文句をいわれるためにしぶしぶ従わなければならない、
といった類いの規約は多い。そうした雑多な規約のことを、本来は従いたくも無い規約
という意味で、私はバッドスタンダードと呼んでいる。
0266名無しさん@お腹いっぱい。NGNG
>>294
C++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
それは貴方の周辺での流儀なだけでは。
C++だから、1文で複数の変数の宣言をしないというのも聞いたことが無い。
それも貴方の周辺での流儀なだけだと思うがどうか。
0267名無しさん@お腹いっぱい。NGNG
>>266
C++でコード書くときはGCCのSTLをたまに参考にしますが、
TYPE* typ;
TYPE& typ;
となってますね。boostなどは無用な宗教論争を避けるためか
TYPE * typ;
TYPE & typ;
となってますが。
0268名無しさん@お腹いっぱい。NGNG
こういう断言の仕方してる奴に
>本当は俺C言語スレでやるべきなんでしょうが、あっちはC++アレルギーが
>強すぎて・・・
とか言われてもね。

バッドノウハウっていう単語が必要になる人種というのも存在するのかもしれない。
0269259他NGNG
とにかく俺が言いたいのは
TYPE *obj;
と書くのはそれなりに合理的理由があるからと。

C,C++ の言語仕様で * の及ぶ範囲が右隣のオブジェクトのみ
となっているのだから、これが覆らない限り型名にアスタリスクを付けて
書くのは対称性も変だし勘違いしやすそうだから反対と。

別にCをやってるからとかそういう理由じゃないです。
個人的に gnu は昔から書き方に癖があるのであんまり参考にしてないし。
変数宣言では TYPE* obj; なのにプロトタイプの引数では TYPE *obj
になってたりして、さらに一貫性をなくしている。

以上です。そろそろ疲れたので今日はさようなら。
0270名無しさん@お腹いっぱい。NGNG
*を型名の一部とするならtypedefにしよう!LPVOID!
0271名無しさん@お腹いっぱい。NGNG
>>268
素人言語学者vs三文文士?
0272名無しさん@お腹いっぱい。NGNG
>>264
> C++でポインタを一文で二つ以上宣言してるのをみたことはないです。
> 今のところは。
そりゃそうだ。だって"char* p"っていう書き方だときれいに書けないんだか
ら。だから「見たことない」じゃ説明にならんだろ。むしろ他の型ならふたつ
以上を同時に宣言できるのに、ポインタだけは(すなおには)できないという欠
点を晒してるわけ。
0273名無しさん@お腹いっぱい。NGNG
>>266
>C++だから、型名にアスタリスクを付けて書くというのは聞いたことが無い。
>それは貴方の周辺での流儀なだけでは。

おまえ、人の無知を疑う前に、自分の無知を疑った方がいいぞ。
0274名無しさん@お腹いっぱい。NGNG
C++って経験ないのですが、cppっていう拡張子はC++なソース
だと判断して良いのでしょうか?
だとしたら

grep " ¥*" `find /usr/src/ -name "*.cpp"`

とやればたくさん char *value っていうような変数名にアスタリスクをつけた
ソースが見つかるのですが…。ちなみにOpenSSL-0.9.7のソースで結構
見つかりました。
0275名無しさん@お腹いっぱい。NGNG
Cとかcxxとかccの場合もあるぞ。
あと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
0276名無しさん@お腹いっぱい。NGNG
というか、
`find /usr/src/ -name "*.cpp"`
って部分が新鮮だった。
xargs使わんの?
0277名無しさん@お腹いっぱい。NGNG
>>275
>あと問題になってるのは、char* hoge;とか*を前に書く流儀だと思う。
いや、だからC++では”char* hoge”っていうように*を型につけるのが当たり前
と言っている人がいるので『変数名に*をつけているソースがありますよ』と
アピールしてみたのです。

>>276
`xxx`っていう書き方に慣れてしまったのでどんな時もこの方法です。
頭使わなくていいので…。
0278名無しさん@お腹いっぱい。NGNG
>>276
人それぞれだよ。
とりあえず、望むことができればいいんでない?
0279名無しさん@お腹いっぱい。NGNG
`xxx` の出力が大量になるとシェルの引数長の制限にひっかかってコケる。
そうならないよう xargs を使いましょう。

……というのはバッドノウハウなんだろうか。
0280名無しさん@お腹いっぱい。NGNG
xargsの使い道ってARG_MAX超えそうなとき以外に思い浮かばないんですけど、他にどういう使い方をしてるんですか?
0281名無しさん@お腹いっぱい。NGNG
>>275
> Cとかcxxとかccの場合もあるぞ。

Mozilla.orgのportability guideには.cppを使えとか書かれている。
実はgroffのソースの拡張子も.ccだったけど、最近になって.cppに
変更されている。gtkmmはなぜか.ccのままでMSVCでbuildする場合のみ
スクリプト使って.cppに変えるという、まわりくどいことをしてるが…
0282名無しさん@お腹いっぱい。NGNG
PC情報
http://2.pro.tok2.com/~mg7/cm/pc.htm
0283名無しさん@お腹いっぱい。NGNG
俺は「消費者」でも「エンジニア」でもない。
又「業界標準」が絶対だとも思わないし、
コンピュータ言語と言う括りで流儀を決められるのも変だと思う。

これを解決する伝統的な方法はあるけど、機が熟していない。
0284名無しさん@お腹いっぱい。NGNG
>>277
スタイルに関する宗教とバッドノウハウとは似ているようで完全には
一致しないものだけど、「流儀」の意味が人によって少しずつ違う
というのもあるかもね。

- C++の「流儀」として権威があると思うのは何ですか?
-「流儀」にはどのぐらい強制力を感じますか?
■ このスレッドは過去ログ倉庫に格納されています