はてなキーワード: ハンガリアン記法とは
まじかよハンガリアン記法ややこしいな
もともとExcelやWord開発で使われていたハンガリアン記法は、
row(行)用の変数には rw をつけ、col(列)用の変数には col をつけるという、単純かつ合理的なものだったらしい。
こういう記事が上がって
それへの反応
記事の最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)
で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。
自転車置き場の議論的な、素人でも分かりやすいポイントだからこのツッコミって人気あるのかね。
―――――↓見てないかもしれないけどブクマとかへの返信を追加―――――
2chあたりでコーディングスタイルの議論になったときは、俺様基準じゃなくて実際に成果を出してる人たちが採用してるコーディングスタイルを基準にしようぜってことで、誰もが認める成果を出しててソースを見れるオープンソースのコードを引き合いに出すことが多いんだけど、そうするとよくある反論が二つある。
みたいなの。
さすがにはてなやツイッターじゃ、前者のような「お前は20年前からタイムスリップしてきたのか」みたいな認識の人はいないみたいだけど後者のような人は何人もいるね。
高度なコードを書いてる人とITドカタのコーディングルールは違うってなんなんだろうね。
「高度なコードを書いてる人は低レベルなケアレスミスなんてしない、だからカッコを省略しても平気なんだ、レベルの低い連中はケアレスミスをするからカッコが必要なんだ」って認識なのかね。
まあたしかに「viは一晩で書かれた」みたいにハッカーが複雑なコードを一気に書きあげてバグがなかったみたいな伝説ってあるけど、素人じゃないんだからそういうハッカーのイメージで高度な人たちをとらえるのはやめよう。
集中力が高度でケアレスミスをしないとか、今どきのソフト開発の「高度」はそういう意味じゃありません。
高度なソフトを開発している人たちは、おおむね読みやすさや保守性にセンシティブです。そのらのSIerなんかに比べたらはるかに。
で、そういう人たちが、カッコを書くか書かないかなんてどうでもいいって認識だからカッコを省くコードが書かれてるんです。
昔ハンガリアン記法がコードの質を高めると信じられてたときとか、if (100 == n) のように比較で定数を左にもってくるのが流行ったときも、そういう流儀の人たちは自分らは安全側に倒してるから正義だって信じて主張を全然曲げなかったですね。
こういうの書くのはお寒いかもだが、あれは半分ネタで半分本気です。増田は滅多に使わないけど、いろいろ意見が聞けて良い。それはともかく
あるあるw自動変数についてはどう名前付けても良いと思います(常識的な範囲で)。
はい。
自分は8タブです。誰がなんと言おうとw三項演算子は使いどころを間違えなければいいんだけどね。自分もJavaScriptを弄くり回していた頃、トリッキーなコードを書きまくってました。
K&Rスタイルですね。
CやC++ではハンガリアン記法は有効だと思いますが、ゆとりプログラマですのでwPython自体はあまり好きじゃないけど、IronPythonはホントに面白い。
新しい行に中括弧を置かないというのは、秀丸のアウトライン解析を利用するためでもあります。でないと正規表現が書けないので。
int Hoge(int n) { int i, retVal = 0; for(i = 1; i <= n; i++) { retVal += i; } return retVal; }
↑いい加減死滅して欲しい。イラッとするから。
for(i = 0; i < 9; n += i, i++); { // 略 }
if(n == 0) hoge();
↑不許可である。