アカウント名:
パスワード:
昔のコンパイラには識別子の長さについて制限のやたらきついものがあったので、無理やり短縮した名前にせざるを得なくなって自分でも何が何やらわけのわからない名前になってしまうことがありました。まぁアセンブラのニーモニックだってそのアーキテクチャに精通してない人にはたとえ規則性があったとしてもなんじゃこりゃ~なわけで、まぁあんな感じです。MASMだって識別子は確か31文字くらいに制限されていた時代があったはず。もっと古いアセンブラのラベルなんて8文字に制限されているものもあったり。
というわけで、「無理やり短縮した識別子」は「もうやらなくていい昔のコーディングテクニック」です。
それ自体に大した意味があるわけではない変数に大仰しい名前を付けると却って可読性が悪くなるような。
「i, j, k といったら整数変数」のような古き良きお約束は、お約束が通じる状況でお約束を守っている分には理解の助けになるので、それ自体は現役のスタイルだと思う。
でも、変数名に意味が無い i とか j とかを文脈無視して使いまわすのは勘弁な!
>「i, j, k といったら整数変数」のような古き良きお約束
同感。なのだけど、グリフ的な問題として、iとjをミスタイプした挙句、ソースを眺めてもなかなか気づかなかった、という経験はしたことありませんか?いい解決案はないですかね。i の次は ii にするとか?
別の角度からの解決策として、単語を検索したりハイライトしたりするのが得意なエディタ/IDEを使え、ってのもあります。
たとえばvimなら「i」にカーソル合わせて「*」キーを叩けば、「i」が黄色とかにハイライトされます。むろん「j」はされません。「*」で捕捉されるのは単語単位なので「ii」とかもハイライトされません。
ちょくちょく「*」で確認する癖をつけると、変数名取り違えの事故がだいぶ減りました。ていうか殆ど起こさなくなりました。これはかなり劇的な効果があったなあと思っています。
Eclipse(のJava環境)でも、ある単語というか識別子にカーソルを合わせると、同じ識別子が灰色っぽくなりますね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
わかりやすい(無理やり短縮されていない)識別子 (スコア:3, 参考になる)
昔のコンパイラには識別子の長さについて制限のやたらきついものがあったので、無理やり短縮した名前にせざるを得なくなって自分でも何が何やらわけのわからない名前になってしまうことがありました。まぁアセンブラのニーモニックだってそのアーキテクチャに精通してない人にはたとえ規則性があったとしてもなんじゃこりゃ~なわけで、まぁあんな感じです。MASMだって識別子は確か31文字くらいに制限されていた時代があったはず。もっと古いアセンブラのラベルなんて8文字に制限されているものもあったり。
というわけで、「無理やり短縮した識別子」は「もうやらなくていい昔のコーディングテクニック」です。
屍体メモ [windy.cx]
ループ変数 (スコア:0)
#とか、わざと書いてみる。
Re: (スコア:0)
それ自体に大した意味があるわけではない変数に大仰しい名前を付けると却って可読性が悪くなるような。
「i, j, k といったら整数変数」のような古き良きお約束は、お約束が通じる状況でお約束を守っている分には理解の助けになるので、それ自体は現役のスタイルだと思う。
でも、変数名に意味が無い i とか j とかを文脈無視して使いまわすのは勘弁な!
Re: (スコア:0)
>「i, j, k といったら整数変数」のような古き良きお約束
同感。
なのだけど、グリフ的な問題として、iとjをミスタイプした挙句、ソースを眺めてもなかなか気づかなかった、
という経験はしたことありませんか?
いい解決案はないですかね。i の次は ii にするとか?
Re: (スコア:1, 参考になる)
別の角度からの解決策として、
単語を検索したりハイライトしたりするのが得意なエディタ/IDEを使え、
ってのもあります。
たとえばvimなら「i」にカーソル合わせて「*」キーを叩けば、
「i」が黄色とかにハイライトされます。
むろん「j」はされません。
「*」で捕捉されるのは単語単位なので「ii」とかもハイライトされません。
ちょくちょく「*」で確認する癖をつけると、
変数名取り違えの事故がだいぶ減りました。
ていうか殆ど起こさなくなりました。
これはかなり劇的な効果があったなあと思っています。
Eclipse(のJava環境)でも、ある単語というか識別子にカーソルを合わせると、
同じ識別子が灰色っぽくなりますね。
便乗質問(ループ変数) (スコア:2)
ログ解析の時に便利なんですけど。
Re: (スコア:0)
Re: (スコア:0)