1 :
デフォルトの名無しさん :
03/03/02 03:02 クラス名、変数名のつけ方に悩んだら書き込むスレです。 質問する人は、その変数に何を格納するもの(クラスだったらその役割) あと、プログラミング言語は何なのかを書いて、いい変数名を思いついた 人はそれに答えてあげましょう。
早速、質問を。 一定の速度で動作させることをサポートさせるスレッドのクラス名なんですけども、 (いわゆる、ゲームプログラミングにおけるゲーム速度を一定にさせるためのもの) どういう名前がいいですかね。 SynchronizeWait,Synchronizer,Waiter,TimeKeeper... とか考えたんだけど、どうよ?
>>2 低レベルのクラスは、内部の実装方針がわかるクラスのほうがいい。
facadeがそういう名前もってるのはよいと思うけど。
vsyncTimer
>>3 言うように内部の実装方針が分かる例として
>>5 があるのかしら。
ジツはあまりスレッド関係のプログラミングはちょいと経験が浅いんですけど、
タイマーのとり方の方針でもいろいろあるから、
>>5 のような名前のほうがよい?
とりあえず今は外見的な名前でOKってことで「SynchronizeWaiter」とでもしてます。
頭に動詞は変
んじゃ SynchronizedWaiter かな?
>>6
SynchronizeされるWaiterじゃないだろ SynchronizingWaiterとかSynchronizationWaiterとか… よりも単にSynchronizerのほうがいいかもな。
ループカウンタの変数名をどうしたらいいですか? i,j,k,n,mは使いました、このつぎのネストしてるループはどのもじですか?
Javaでのメソッド名についてご相談いたしたく。 int 値を 2 つ引数にとり、String を返すメソッドです。 String ????(int val, int length) { // 省略 } 渡された val の10進数表現を String で返しますが、全体として length で指定された文字数になるように、先頭に文字ゼロ '0' を 追加してくれるものです。 今は zero という妙なメソッド名で書いてます。もっと動作を的確に表すものにしたい。
IntToStringWithPrecedingZero
>ループカウンタの変数名をどうしたらいいですか? >i,j,k,n,mは使いました、このつぎのネストしてるループはどのもじですか? ネストしてるカウンタ用には n1, n2, n3... とか統一した方がわかりやすいです. for (n1=0; n1<100; ++n1) { for (n2=0; n2<200; ++n2) { for (n3=0; n3<300; ++n3) { if (n1 == 50) { // ←どのカウンタかわかりやすい ... } } } }
>>13 サンクス、これからはそういう方針にしようかな
>>10 っていうか、ネストレベルが深すぎでは?
名前で悩むよりロジックを見直したほうがいいと思われ。
int[] i; とかやっとくと、ループカウンタに困んなくていいよ。
>16 それだとレジスタ使ってくれないんじゃないの?
漏れもループカウンタはnx派。
>>17 lはIと1が区別できないのでやめとこうと思いました
あと、ちょっとヤバイと思ったのでネスト2段階目以降を
別の関数にくくりだしたのですが
n1,n2,n3 ...だとネストレベルが一段階目なのにn3とかなってて
こさじ一杯分悲しい気分になりましたー
普通は五重ループにする前にもっと悲しくなるもんだがな。
>>15 ,21
5重とかそんなループになるぐらいだから、
数学系とかそっち方面のロジックじゃないのかな。
そういうやつの場合は素直に5重でも何重でもすればいいと思う。
そういうの以外で4重以上はキチ・・・以下略。
で、数学系のなら漏れも、n1、n2、n3・・・みたいなのがいいと思う。
>>11 以前PHPでそういう関数を作ったときは、ZeroSuppressとネーミングした。
VBでそういう関数を作ったときはZeroにした。
今なら、padZeroがお勧め。
そんなもんいちいち関数に切り出さないで書式化関数一発でできるだろ>zero
2進数や10進数など、何進数かを表す変数を作りたいんですけど いい名前が思いつきません。 何かいい名前はないでしょうか。
>>24 basefieldがいい
iostreamのフラグ名もこれ
>>25 ありがとうございます。
使わせていただきます。
30 :
デフォルトの名無しさん :03/03/06 21:20
MIME を読み書きするクラスで、出力するときに文字コードの変換が必要か どうかを指定する BOOL 型の変数が必要なのですが、どんな名前がいいでしょうか?
BOOL前提? need_convとかにするかも知れないけど、 if (out_encoding) convert(out_encoding, data) とかいうのも考えられる。
>>31 アンダースコア使わないで
outEncodingにしようぜ
大文字を含めると、どうしてもハンガリアンチックな名前になってしまう漏れ
海外のソース結構みてるけどNeedXXXって見たことないんだけど 英語ネイティブな人の感覚では何か変なのかな? CharacterConversionとかどうだ?
ただのうすーいラッパークラスの名前になやんでる。 やけくそで(基底クラス名2)とかしちまいそうだ・・・
デコードもあるのでoutEncodingをつかいます ありがとう
38 :
デフォルトの名無しさん :03/03/12 21:41
こんなときはこの名前というようなプリフィクス、サフィックスの 候補一覧を誰か作ってくれないかな。
>>34 メソッド(旧名メンバ関数)にはそんな名詞を使わないで動詞にすべき。
>>37 そんなあなたはSmalltalkもJavaもC#も使えなくなってしまいます。
Smalltalkは大文字で始まるとグローバル、ってのは、いまでもそう?
42 :
デフォルトの名無しさん :03/03/13 02:08
>>30 文字コードの変換が必要かどうかを示す変数が必要となる設計
というのがそもそもどうなんだろうか?
文字コードを変換するフィルタクラスFilterを作って、
MIME読み書きクラスはsetFilter(Filter)みたいなメソッドをもてばいいと思う。
43 :
デフォルトの名無しさん :03/03/13 06:35
>>35 BaseClassEx
とかどうよ。MS信者受けするぞ。
>>43 Exなんて名前がいやだ。
なんの略かわかりにくい。
パッケージ名で補えればいいけど
>42 ガッテン!ガッテン! どうもしっくりこないなーと思ってた所 フィルタにします ありがとう
>>45 ExはExtentionの略だろ。とりあえず拡張したよって意味しかない。
ネタに気づけ〜。
FooBarExExExEx
49 :
デフォルトの名無しさん :03/03/15 11:56
プロジェクト内のリポシトジのディレクトリ名は 複数形( resources, images, tests, libraries) 単数形( resource, images, tests, libraries) どっちがいい? 漏れ的には複数形がいいと思うが、bin とか lib とかあるとなると、それって単数だから docs よりは doc のほうがいいのでは、と思ってしまう。 どっちかに統一しる! (几帳面すぎるのか?)
逆に、ちょっとしたプログラムで名前なんかどうでもいい時、 foo() とか bar() とか使うんだけど、友人は、dance() や、sing()、を使ってた。
51 :
デフォルトの名無しさん :03/03/15 12:48
トップレベルウィンドウのウィンドウクラスの名前何にしてますか。 MAIN_WINDOW_CLASSみたいなのですか。
TMainWindowとしています!!
ひとつしか無いものの名前に凝る必要なし 識別困難でないものの名前に凝る必要なし
>52 >TMainWindow Borland製のクラス名もそうだけどさ、頭のTってなんだよ? Turboか? なんじゃそりゃ。
Typeだよ classもenumもstructも全部統一的にT
>>55 うげげ。
main_window_t
みたいなもんか。
ちなみにおれは
>>52 や
>>32 みたいな表記は嫌いだ。
57 :
デフォルトの名無しさん :03/03/15 13:46
いろいろなプログラムから使用できるClassを作りました Font設定ダイアログや色選択ダイアログ、EUC⇔Shift_JIS変換など・・・ こういうのをまとめてフォルダに入れたいのですが どういう名前にしたらいいですかね? CommonLibrary?
Misc、YourUtils
Helper
何でもいいけどlib名かnamespaceに自分の名前か所属を入れとけ。
size_t とかの最後の t は typedef だよ
そんなことどうでもいい
「型」とそれ以外を区別している言語はあるけどね。 Eiffelとか型は言語仕様で全部大文字。
他人のサインを入れてみたり
>>62 何どーでもいいって
私の出生の秘密知りたくないっていうの
どういうことよ!
これわかる奴いるかな
66 :
デフォルトの名無しさん :03/03/16 13:47
>>60 namespaceなんて死語だ!
これからの時代はUMLだ!
packageと呼べ!
68 :
デフォルトの名無しさん :03/03/16 14:34
数字を連番するのが一番、下手に変数名に名前付けるなよ。 わけわかんなくなる。 クラス名の場合は、VC++に習って クラス名_変数 クラス名_関数 とするようにしている。 buf1 buf2 buf3 buf4 buf5 cnt[0] cnt[1] cnt[2] cnt[3] cnt[4]
んで、似たような機能、サービス名は 構造化したほうがわかりやすいね。
先頭の二文字以外変数名として意味を持たないような環境(AAAとAABが同じになる)では どんなルールでもって名前付けしてけばいいでしょうか? …というのを10年前に聞いときたかった。今は意味がない。
そんな環境もあったんだ 古き悪き時代ですね
72 :
デフォルトの名無しさん :03/03/16 23:22
入力された文字列の 【先頭文字を大文字へ】 【それ以降の文字列を小文字へ】 変換するメソッドの名前が思いつかないです。 DTP用語でありそう?
capitalize
local変数や関数のparameterはどのように命名してる?
大体2〜3文字程度
77 :
デフォルトの名無しさん :03/03/21 22:02
ぴったりの関数名が思い浮かぶと嬉しくなるな。論理的にまとめられそうなでも いい名前が思い浮かばず、無駄に時間を費やしてしまうことも多い。
名前を決めるときは常に辞書を抱えている。 電子辞書、専門語辞書サイトが役立つ
専門語辞書サイトのリンクほしいな。
80 :
デフォルトの名無しさん :03/03/21 22:39
81 :
デフォルトの名無しさん :03/03/21 22:48
>>80 79じゃないが、さっそくお気に入りに追加した。
サンクス
>>80 候補が色々出てくるね。これ凄くいい、ありがとう。
perlってほとんどがグローバル変数扱いだから、変数名がだんだん かぶってきちゃって困りますな。 しかも、掲示板の例でいえば、 入力にも出力にも処理にもtitleやname見たいな変数名を使いたくなるから、 適切な変数名をつけるのに困っている人も多いはず。。。
84 :
デフォルトの名無しさん :03/04/04 00:17
ローマ字で書いちゃえ
> perlってほとんどがグローバル変数扱いだから、 どういう意味ですか?
>>85 煽りで聞いてるのか?それともネタか?
ネタなら勉強せー。
煽りなら俺の書き方が悪かった。
perlはローカル変数と明示しない限りグローバル変数になってしまうので、
困ったと。
俺としてはちゃんと変数宣言したい派なので。
それもまた然り。
datファイルについて教えてください。 datファイルがバイナリーになってるのですが、文字列に変換できないですか? 詳しく知ってるかた教えてください。
お前は何者だ。
3Dのツールを作っているのですが、 ・Primitiveクラスと、Primitiveクラスを複数管理するObjectクラスがある ・Primitive、Object双方に共通する基底クラスを作りたい この基底クラスの名前で悩んでいます。何がいいですかねぇ…。 どうでもいいけど、昔のコードひさしぶりに引っ張り出したら、 クラス名が全てドイツ語…('A`)ノモウ ヨメネ
> Primitiveクラスを複数管理するObjectクラス その管理形態は?
>>92 いやすいません、急に立て込んじゃいまして…。
単なるCompositeとなっております。
> Primitive、Object双方に共通する基底クラス 共通する点は何だ?
>>94 いやぁ、すいません。こんなつまらんネタで長引いて<(´∀`)
要するにCompositeパターンの幹と葉ですね。
共通する点はずばりインターフェイスです。
もういいかな、ICompositeで…。あるいはObjectをPrimitive"s"にしちまうか…。
>>95 > 共通する点はずばりインターフェイスです
そんなのは基底クラスにしたいって話でわかる。
どんな共通インターフェースを備えるかを考えると、解決したりする。
Drawをインターフェースとするなら、
基底クラス名をDrawableにする、とかな。
>>96 分かってくれてたのかYO。
ずばり、なんて言っちゃってオレ恥ずかしいじゃん(*ノωノ)
なるほど、確かに描画回りが大半です。
Drawable、結構、各方面で使われてますね…(・∀・)イイ!!
早速全置換ですよ。96さん皆さん、おつき合いありがとうございました。
98 :
デフォルトの名無しさん :03/04/05 17:31
Javaチックな質問なんですけど、 org.w3c.dom.Nodeが集まったものをorg.w3c.dom.Documentと呼ぶ時、 Widgetが集まったものは何と言う? ここでいうWidgetはjava.awt.Componentみたいなもんです。 だから、具体的にはWidgetが集まったものはFrameに対応するものなんですが。 よろしくお願いします
>>98 なら、素直に Component, Composite, と名前つければどうか
!100!
>>99 そうですね。今は思いつかなくて Widget, Hogeってなってるんですが
Component,Compositeで逝きます。ありがd
102 :
デフォルトの名無しさん :03/04/09 01:39
2項演算子はbinary-operatorですよね? じゃあ、3項演算子はなんて言うのが一般的でしょうか。 triple-operator?
104 :
デフォルトの名無しさん :03/04/09 01:44
アクター の対義語ってなんですか?
アクトレスという答えは却下します
意味がわからん audience か?
108 :
デフォルトの名無しさん :03/04/09 02:17
109 :
デフォルトの名無しさん :03/04/09 10:40
FooBar fooBar FOO_BAR foo_bar foo-bar どれがいい?
いちばん下
Foo_Bar
クラス名なら FooBar 定数かマクロなら FOO_BAR 関数なら fooBar 変数なら foo_bar lisp なら foo-bar
lispカコイイ
言語明記してないのにどれがいいもなにもないだろ。
>>112 も同罪
foo-barだろ
言語は?
ふーばー
foo bar bazの次は? これ沢山変数あると使えねえよね。
zot
qux, quux, quuux, ...
cdr, cddr, cdddr, cddddr,...
tmp, tmp2, tmp3, tmptmp, tmptmptmp, tmptmptmptmp
foo bar baz boo zot yon kep kon tuu yad zaf fet koo zon jop roo ということにすればいい。
124 :
デフォルトの名無しさん :03/04/11 23:32
シューティングゲームで、弾やビームのデータを管理するクラスの 名前を考えてるんですけど、どうしましょう。 アドバイスお願いします。
>>123 baz の後にそんなんが続いてたなんてちょと感動
weaponかなあ。
だいぶ昔に見た本のプログラムのクラスUIをそのまま使っています・・・。 大元がCSprite、んでCPlayer、CEnemy、CMissile、CExplosion、 そしてそれらをまとめるCSpriteArray・・・。 今も変わってないなぁ・・・。
129 :
デフォルトの名無しさん :03/04/11 23:47
クラス名の頭に'C'つけててよかったことってある?
>>129 ないです。
むしろ、VC++で開発してるとMFCクラスとダブって見えて
気持ち悪いぐらいです。
>>127 Weaponはむしろ装備してる武器のほうにつけたいなぁ。
Weapon=銃、Missile=弾
>>129 今までC++、Javaでは無いよ。
でもMFCがCからはじめてるのでとりあえず違和感の無いようつけてる。
Javaでは当然つけない。
C#ではつけないとプロパティとダブって痛いことになるけど、推奨されて無いのでやむを得ずつけてない。
たいした理由をもってつけてる人は、やっぱりいないな。
>>129 強いて言えば、VC++のClassViewで構造体と区別する・・・ぐらいか?
今考えたんだが。
>>126-134 貴重なご意見ありがとうございます。
とても参考になりました。
とりあえずCMissileにしようと思います。
↑ 名前書くの忘れた124です
Chemical Missile
>131 >でもMFCがCからはじめてるのでとりあえず違和感の無いようつけてる。 MFCを淘汰すればいい
ハンガリアン死すべし。 MSに無関係な汎用クラスにいらんCつけないで欲しいにゃー。
んじゃゲイツ死すべし。
断る!
c_Missile とち狂ったのかこんな命名規則を編み出したやつがいた。
クラス名でそれはちょっとなぁ
147 :
デフォルトの名無しさん :03/04/17 11:56
positionとlocationって意味的に違いある?
>>147 よく分からんが
position: 座標とか、連続体に対する位置
location: 必ずしも連続体とは限らない
というイメージはおかしいかな。
>>147 Location is a formal or technical word for position.
>>133 クラスと構造体の区別がつかなくて困ったことある?
ないな。はっきり言って。
last と final ってどう違うの?
endとterminateも加えてクレ
tailは?
156 :
デフォルトの名無しさん :03/04/17 14:16
どちらも「最後の」だけど、last の方は今のところの最後、最後にxxxした、てな 意味合いが強いよ。 if (c == 'a') { // if last char is 'a' <- 酷いコメント ... } 一方 final はこれ以上先がないホントの最後。last もこっちの意味で つかうことも非常に多いけど。逆に final を「今のところの最後」みたい に使うことはない。 end <- 名詞、自動詞 terminate <- 他動詞
finalize と terminate は?
>>156 > end <- 名詞、自動詞 terminate <- 他動詞
terminateは自動詞もあるよ。
(^^)
160 :
デフォルトの名無しさん :03/04/17 20:31
今の位置と前フレームの位置を保存しておく必要があります。 今の位置はposition 前回の位置の変数名をお願いします。
prev_position
今の位置current-pos 次next-pos 前prev-pos 単にpositionだけだと、何のことやらさっぱり。 昔こういうソース引き継いだとき大変だった。 前任者はハンガリー記法信者でもあり、 意味不明な名前の変数でソース中埋もれてた。市ね。
俺は思った。
この専門語辞書(
>>80 )のサイト
Eclipseプラグインとして搭載できたら便利じゃないだろうか、と。
>>163 CGI直叩きすれば簡単にできるよ。
というかもう標準入出力バージョン作ったし。
>>161-162 レスありがとう。
仮でlast_positionとしてたのですが、英語的に合っているでしょうか?
166 :
デフォルトの名無しさん :03/04/17 22:08
モンゴリアン記法が最強
シューティングゲームの弾のスーパークラスの名前に迷っています。 何か良い名前はあるでしょうか? CBulletBase辺りがすぐに思いついたのですが、 魔法の弾のようなものもこれを継承して作ろうとしているので、 Bulletはちょっと合わないかな〜と思うのです。
>>165 そういうときはcurrent/lastがいい感じがする。
previous/nextは並び順のときにも使うし。
英英辞典とシソーラスは手元に1冊ずつあると便利だよ。 ペーパーバックの安い洋書でいいから
電子辞書使いなよ。
________________ //←レーザー
>>173 OO_______//<-弾とレーザー
179 :
デフォルトの名無しさん :03/04/19 05:06
シューティングゲームなどのキャラクターが一回に移動する量 を入れる変数名どうしましょう。
dx, dy
181 :
デフォルトの名無しさん :03/04/19 05:33
182 :
デフォルトの名無しさん :03/04/19 05:39
180じゃないけどdimension
ありがとう
185 :
デフォルトの名無しさん :03/04/19 06:40
>>179 おいらだったら、speed だな。
ベクトルで計算してるなら、angle と v かな。
dx の d は dimension だったのか、今まで delta だと思ってた・・・ speed、velocity か v かな。
外人のコードを見るとvelocityが良く使われているのでvelocity 略してvel
>>186 変化量だから delta であってると思うぞ。
凅 だな。
differentialのdじゃないの?
deltaで合ってるよ
もともとdelta自体がdifference系から来ていると思うのだが。
デルタ【Δ・δ】(delta)(ギリシア語の第四字母)(1)三角洲(す)のこと。(2)変数あるいは関数の変量を表す記号。(3)固体や金属の同素体を示す記号(δ)。「―鉄」
>>191 そんなこと言い出したら世の中のcomやreで始まる単語とかも同じ理屈になってしまうではないか
194 :
デフォルトの名無しさん :03/04/20 00:19
変数名の最初を動詞にするのは変ですか?
195 :
デフォルトの名無しさん :03/04/20 00:21
196 :
デフォルトの名無しさん :03/04/20 01:02
>>194 isで始まる変数たくさん使ってるが何か?
俺は、 int is_empty_; int is_empty(){return is_empty_;}; ってやるよ。
Be動詞は特別
漏れは関数にはis使うけど、変数はflagにする。
200 :
デフォルトの名無しさん :03/04/20 01:32
やっぱり変数名の最初を動詞(Be動詞は除く)にするのは変なの?
202 :
デフォルトの名無しさん :03/04/20 01:37
shootInterval 弾を撃つ間隔を入れる変数 とか
>>202 おれなら、shootが省略できるスコープ・文脈に押し込む。
>>168 適当
あるクラスのスーパークラスやスーパーインターフェースの名前などを
自動決定するときに役に立ちそうだと思った。
そのときに、英語で候補が出るが同時に脇に日本語訳もあらわれ
そこで吟味できる。
そしてJavadocコメントにも日本語訳が入る。
翻訳した単語はデータベースにストックされる。
翻訳回数が多かったもの、ソースコードに使われる頻度が高かった単語
にはなにか特別なボーナスが与えられる・・・・。意味無いかもしれない。
AIとも併用される。そのときにはあのサイトを使うのではなく
別に作られた辞書データベースを使う。
>>202 俺なら、ShotInterval か ShootingInterval かな。
shot_interval
[Ss]hootInterval_ だな。けつに_をつけて変数名と関数名分けりゃ気にならん。
あほくさいサフィックスじゃないの?
∧_∧ ( ^^ )< ぬるぽ(^^)
>>208 変数と関数を分ける必要はないと思うのだが。
もし、名前がかぶるならそれは命名ミス。
宗教問題に突入してまいりました!
214 :
デフォルトの名無しさん :03/04/20 10:13
isなんてつける必要ないね。 is取って混乱するなら命名がおかしいんだよ。
isEnable Enable 確かに…… あと、bool(ean)型だと、hasHogeHogeってやらない? その場合、hasとると意味不明になるんだけど
〜p 述語 nullp ぬるかどうか (nullp p) =>ぬるっぽ (nullp p) =>ぬるっぽ
>>215 その場合Enabledでしょ。
hasは使ったことないな。
EmptyかCount使う。
Enable -> Enabled だった。
>>214 setとかputとか変化しない単語もあるからつけといたほうがいいのでは?
あーもう! おまえらローマ字でかけ! kanou_desuka nurupo_desuka
>>179 position(location) 座標
velocity 速度
acceleration 加速度
とか力学チックに。
>>197 class Nurupo
{
private:
bool empty; // 形容詞
bool active; // 形容詞
public:
bool IsEmpty() { return empty; }
bool Activated() { return active; }
};
>>202 その名前ではintervalをshootしている気がするがよいのか。
shotIntervalと複合名詞にする。
lisp like にしよう bool active_p(){ return active; }
C#ではisだのget/setだのpだのは全部死滅したけどな。
get,set が廃されてどんなのが採用されてるの? < C#
get/setはキーワードになった private string caption; public string Caption { get { return caption; } set { if (caption != value) { caption = value; Repaint(); } }
>predicate 述語…いまいちぴんとこないな…。 >キーワード 驚いた。そんなことになってたとは。
気持ち悪いような便利なような
232 :
デフォルトの名無しさん :03/04/21 05:21
(時間の)「永さ」って英語でなんて言うの?long?
>>228 C#いいね。
Delphiだと、propertyと実装を分離するから、
冗長な GetHoge, SetHoge 書かないといけないんだよね。
直接参照する場合は、C#より便利だけど。
(構造体のメンバや、配列も直接アクセス可能)
property Caption: string read FCaption write FCaption
で、C#の例見て思ったんだけど、 "caption" って表記はどう思われます? 根本的に、_Caption とか m_Caption とかと変わらないと思うんだけど。 Delphiだと、case sensitive でないのと、 標準的な規約に従いたいという理由で、FCaption になるんだけど。 俺自身は、case sensitive でない言語使ってるせいか、 プレフィックスはOK派なんだが。 もちろん、ハンガリアンや、外部公開するものにつけるのは不可。 宗教戦争の予感だけど、case sensitive の言語仕様を 絡めた論議がなかったような気がするので・・・。
237 :
デフォルトの名無しさん :03/04/21 10:56
「追加」の反対ってなににする? 「削除」は微妙にニュアンスが違うような気がするんだけど
>>237 remove
delete
release
解放とかかなぁ?
attach <-> detach
追加<->抜去
reduce かな。
それは絶対に違う。
add <=> remove new <=> delete catch and release
追加を純粋に「足す」という意味に捉えると「減らす」という意味で reduce もあるか? と思ったんだが、やっぱ違うのか。
245 :
デフォルトの名無しさん :03/04/21 12:11
insert <> delete でないかなSQLに習えば
何故SQLに習う?
247 :
デフォルトの名無しさん :03/04/21 12:15
他人も使うようなクラスメソッドなら既存の対に従うのは推奨すべきことでしょ add, remove insert, delete どっちかでいいかと。
- increment decriment - add insert delete remove - create destroy release free - new dispose Del 使いとしては catch は見かけないので catch and release とは結びつかない (別にアングラーでもないので) reduce は約分みたいな意味で使うんじゃないかと BitmapReduct(int n) 1/n に変換とか reduction だと Noise Reduction が有名なので 「できるだけ減らす」みたいな感じがする
249 :
動画直リン :03/04/21 12:38
250 :
デフォルトの名無しさん :03/04/21 13:37
add → ある集まりの最後尾に追加する insert → ある集まりの指定位置に追加する put → ある集まりに追加する。順番は関係なし remove → ある集まりから、その存在を取り除く delete → 実体そのものを無効化する
追加ならpush_back
最後尾に追加は append
なぜ push/pop が出ない?
reduceはアナログ的に量を減らすニュアンスがあると思うぞ。
Append/Insert/Deleteだろ。
add/insert/erase
erection / insert / wilt
Assemble/Insert
>>244 reduceは元の意味を変更する様な意味もあるよ。
文字列の入力を消費してトークンに変換するとか。
>>259 reduceだと「切り詰める」ってのがしっくりくるような気がする。
機械的な作業ではなくて努力が見え隠れするような。
C++でJavaっぽく setHoge(hoge) getHoge() 又は hoge() みたいにメンバ関数名つけてるのですが 〜を使うか?というbool
C++ならSetHoge(hoge),GetHoge()だな。郷に従う
↑ミスったすません 〜を使うか?というboolを返す関数の場合はどのように名前をつければよいでしょう? 設定するほうはsetUseHoge(bool)で良いとして 返すのは isUseHoge()?UseHoge()?
少なくともisUseHoge()は変。
せめてisUsingHoge
>>262 C++の郷ってむちちゅじょのことだろ
みんなばらばら
267 :
デフォルトの名無しさん :03/04/22 10:10
>>263 使いますか?:Does it use?
使っていますか?:Does it use?
使いたいですか?:Do you want to use?
使うと宣言しますか?: Is it declared that it uses?
ちょっと長いけど
isDeclaredUseHoge()
>>263 読み出しは、bool UsesHoge() だろ。
if( object.UsesHoge() ) { ...
これが一番読みやすい。
設定は、BeginUsingHoge() と EndUsingHoge() にわけたらどうかなぁ?
boolを引数にしてしまうと、ソースが読みにくくなると思う。
あー、enum使って、
enum USING_HOGE { USING_HOGE_DISABLED, USING_HOGE_ENABLED };
void Set( USING_HOGE flag );
これなら呼び出しコードに意味が明示されていいかもな。
269 :
デフォルトの名無しさん :03/04/22 10:31
>>268 何か君の手続きライクなコードは読みやすそうな印象を受けた
>>263 設定: use-hoge!
述語: use-hoge?
(use-hoge! fuga #t)
(if (use-hoge? fuga) ...)
lisp っていろんな記号を識別子として使えるのがいいよね
Java コーディング標準
http://objectclub.esm.co.jp/eXtremeProgramming/CodingStd.pdf > (18) boolean 変数を返すメソッド
> is + 形容詞,can + 動詞,has + 過去分詞,三単元動詞,三単元動詞+ 名詞.
> boolean isEmpty() // JavaBeans でプロパティとして扱える(推奨)
> boolean empty() // だめ!’空にする’という動詞的な意味に取れるため良くない.
> boolean canGet()
> boolean hasChanged()
> boolean contains(Object)
> 理由: if, while 文等の条件が読みやすくなる.またtrue がどちらの意味か分かりやすい.
274 :
デフォルトの名無しさん :03/04/23 00:15
何か惰性でずーっと変数名にハンガリー表記使ってるんですけど、 きょうび流行らないんですか?
275 :
bloom :03/04/23 00:20
流行っていたという幻想はあったかも知れません。
>>274 流行り廃りが気になるなら、常に最新の記法を使え。
ハンガリアンは最新ではない。
俺は気にせず、なんちゃってハンガリアン使ってる。
たとえば、pXXX とか rcXXX とか cxXXX とか。
関数名とか変数名とか・・・・とにかく、名前の出だしが大文字でないと気に入らん。 しかしそうなると関数なのか変数なのかパッと見、見難いからハンガリアン導入の漏れ。 動機不純かな?
俺なんかその日の気分だよ。 よし、今日は小文字と大文字を交互に書こう。とかね。
280 :
デフォルトの名無しさん :03/04/23 00:39
∧_∧ ( ´∀`)< ぬるぽ
281 :
デフォルトの名無しさん :03/04/23 00:39
ハンガリアンが役に立ったことないなあ。 だれか役に立った事例ってある?
>>274 元々賛否両論の規約だったが、
ハンガリアンを広めた張本人であるMS自身がC#でハンガリアン禁止にしたから
今後は廃れていくかと。
>>281 貴方は何を使っていて、どんな役に立ちますか?
参考でにご教授下さい。
俺の友は280だけだよ! ちくしょー
ハンガリアンはスレ違いだろ。うせろ。
いいかげんにハンガリアン儲は死滅して欲しいです。
>>286 そうか?結構可読性高いぞ?
ま、言語ごとの記述スタイルに合わせればいいよ
郷に入っては郷に従えって奴。
Java厨は、ハンガリアン使えないからな。 Javaのライブラリの、あの変質的なネーミングを踏襲する。
>>288 たしかにまわりくどいしウザイし可読性も落ちる記法だけど
やはり郷に入りては郷に従えだよ
JAVAは特殊だよ、あの記法をJAVA以外で好きで使ってるのを見たことない。
なれだよ、なれ。どんな陳腐なネーミング方法でも、その世界にどっぷり浸かってると、それが常識に見えてくる。電車でヘッドホンして大音量で音楽聞いて、調子外れの歌を歌っている人と同じ。
Java設計者の中に危険な香具師がいる予感
まあJAVAは特殊な世界だから参考にはならないだろう 非効率的でもパラノイア的ネーミングでも それに従うことを強制される世界だから
JAVAは一種の宗教だから 教義に従うことを強制される。 自由な思想は許されない。 自分で考えられる人は去っていく。 その教義でマインドコントロール された者だけが残る。
>>291 その例えは酷いなw 郷に従うのは他人に迷惑掛けないでしょw
俺的にActionScriptのオブジェクトの付け方が好き
Obj_strとかObj_arrayとかObj_xmlとか
_strでオブジェクトの種類が特定できるの
Flashに最初っから組み込まれてる奴限定だけど
_strとすればStringオブジェクトのメソッド一覧が参照できる。
これはコード補完できるエディタが拡張しやすくて面白いアイデアだと思う。
このスタイルが流行ってくれればオブジェクト定義ファイルに
メンバー情報と継承情報を組み込むだけでいいから便利そう。
漏れも最初はJava式ネーミングをキモイしメンドイと思ったけど ライブラリ使ってると統一性のためにしかたなく合わせてる いまじゃその変質的ネーミングが心地よくすらある
isMethod() こうですか? hasMethod() もってますか? わかりやすくていいじゃん 自然言語に近づけた規則だと思うよ
>自然言語に近づけた規則だと思うよ はぁ?何言ってんだてめ頭膿んでるのか。
java.util.StringTokenizer java.io.BufferedReader java.io.InputStreamReader ダラダラ長いんじゃ( ゚Д゚)ヴォケ!!
300 :
デフォルトの名無しさん :03/04/23 01:38
Delphiサイコー System.Random Math.RandG Math.RandomRange StrUtils.RandomFrom
>>299 StringTokenizer
BufferedReader
InputStreamReader
か・・・
たしかにネーミングセンスを疑うな
ネーミングというレベルにも達してない
InputStreamReader なんて Read で十分だよな
>>299 こんなのに染まっちゃうと、たしかに普通のネーミングじゃ物足りないだろうな。
>>302 塩分多いのとか油っぽいものばかり食べてると
鰹や昆布のうまみじゃ満足出来なくなるのと同じかな
JAVA中に正常な味覚は期待できないって事でつか
可読性わるそー
急にクソスレになったな。
JAVA厨にとってのクソスレ = この板の住人にとっての良スレ JAVA厨はこの板から出て逝け!
取り合えずJavaは対象外にしよう。 その方が波風が立たないし元々参考にならないようだし。
Java = StringTokenizer C = strtok Javaの方が格好良いね。
>>311 長すぎて使う気になりませんが。
似たような名前が多いからエディタで補完もし辛いし。
Javaは可読性が高く記述性が低い C言語は可読性が低く記述性が高い C++は可読性は普通で記述性も普通 バランスはとれてると思う IDEの機能を考慮するなら VC++が可読性も記述性も高くなって最強なのだが。 コード補完用オブジェクト定義言語が欲しい今日この頃
マッキントッシュが格好良くて使いづらいのと同じだね!
マッカーが1ボタンマウスだけで満足するのとはちょっと違うか。
メニューバーがウィンドウにくっついていないのも非常に使いづらい。
>>318 一長一短だと思うよ。
メニューが各ウィンドウにあるのが使いづらいという人もいるし
スペース的にも勿体無いという考えもある。
なるほど。 SDIとMDIの違いつーか、そんな感じ? WindowsのMDIは使いにくいが、 MDIがそのままデスクトップという発想なら、そうでもないか。
正直、メニュー使うことあんまり無いな。 ショートカットキーで足りることが多いし、 GUI操作も右クリックメニューのが便利。
> Javaは可読性が高く記述性が低い ネーミングが長いと、可読性は落ちるよ。 一つ一つのネーミングだけ見ると、 詳しくつけた方が可読性が高いように錯覚するけど、 実際にプログラミングしてみると、 1つの文がだらだら長くなって見通しが悪くなる。 文字を省略するのは、記述性を高めるためだけじゃない。 もしろ、ソースの見通しを良くして、 可読性を高めるためにやってるんだよ。
>>322 まあ、当たり前の話だな。ネーミングはいかに短く、わかりやすいかが重要。だらだら文章みたいなネーミングで、可読性が上がるわけがない。
COBOLってわり算も記号じゃなくて英単語でやるんだっけ? それはみづらいなぁ。
記号で出来ることを、英単語でやることはない。わかりずらいだけ。 たとえば begin とか、あとは begin とか。
Java流ネーミングは たしかに記述たいへんだし可読性も悪いけど つけるとき頭使わなくていいよ 悩まずに規則通りつければいいんだから 可読性が落ちてメンテナンス性や拡張性が落ちるけど ネーミングに悩まないぶん生産性があがる
JAVAってのはつくづく馬鹿のために最適化されてんだな。
機械語は記号なのかと聞かれたら、違う気がする
get() みたいなプライベート関数を乱発されたら気が狂いませんか? 名は体を表す・・・最低限、これを順守してくれ。 readだけで十分だとか言うヤツは逝って良し。 こんなヤツが居るから、Javaであんなネーミングが採用されるんだよ。
>>332 getだけですむように、クラスってもんがあるんだよ。
おまえ、グローバル関数マンセーか?(≧▽≦)プププ
string.get()
>>333 それは一体何をゲットするメソッドなのかね。
Javaの命名規約が駄目なヤツは、おそらくC#も駄目なわけだが。
java.io.BufRead java.io.Read で十分だわな。 java.io.InputStreamReader を名は体を表すために必要だとかってのは いつものJava厨のなんでもJava正当化としかいいようがない
338 :
デフォルトの名無しさん :03/04/23 12:28
名前を省略したほうが可読性があがることってありますか?
>>335 アホ。
C#は、get と set をキーワードにまでしちまったよ。
これだからJava厨房は嫌われるんだよ。 独りよがりで論理が通じないくせに、自分じゃ論理的だと勘違いしてる。
341 :
デフォルトの名無しさん :03/04/23 13:03
>>336 禿同
>java.io.InputStreamReader
java.io.InputStreamWriterやjava.io.OutputStreamReaderがあるわけねーんだから
こんなに長くする必要はない。
そんなのがあるならクラス設計が糞、
ないけど長く書かなくちゃわからないなら読解力が糞。
>string.get() length? C形式文字列?
public class A { } public class BA extends A { } public class ABBA extends BA { }
344 :
デフォルトの名無しさん :03/04/23 13:16
>>342 length欲しけりゃstring.length()かstring.size()だろうな。
string型があるとしてchar配列などをstringオブジェクトにする関数があるとしたら String str = new String(); str.parce({'あ','い','う','え','お'}); でいいとして 他の型に変換するなら char c_ary[] = str.valueOfCharArray(); になるんだよな Java流だと出力方面の名前が長くなりがちで嫌だ。
いっそJavaは死滅しちゃった方がいいのかもね・・・
クラスの名前で機能が推測出来るなら良いが、クラス名も関数名も腐った ネーミングしか出来ないヤツが居るからダメなんだよって言いたいんだが。
ただ、
>>336 の
java.io.BufRead
java.io.Read
Raadが1つだけなら良いものを、Bufが付くか付かないだけの名前の違い
しかないのが複数あったら、結局どっちが何をするのか覚えておかないと
パッと見、ややこしいだろ。
別に長いのマンセーと言ってるんじゃねーんだよ。
Bufが付くのと付かないの、何が違うんだ?
ちなみに、漏れはJavaは知らん。
UNIXのシステムコールやCの関数を見習えよ。
350 :
デフォルトの名無しさん :03/04/23 14:51
Keep it simple!
353 :
デフォルトの名無しさん :03/04/23 16:49
配列の個数を入れる変数名どうしましょう。 アドバイスお願いします。
count
arrsize
nary
num
width
359 :
デフォルトの名無しさん :03/04/23 18:23
関数から値返すとき とりあえず ret という名の変数に入れておいて 最後に return(ret); する人ってどれくらいいます? あんまり言語にこだわらずに俺それやっちゃってるんだけど 常套手段って考えちゃっていいんだよね? ちがうのかな?
360 :
動画直リン :03/04/23 18:26
>>359 meは戻り値は真っ先に宣言してるよ
例えその場で必要なくても
362 :
デフォルトの名無しさん :03/04/23 18:38
>>362 「私」だろ。
361はフランス帰りなんだよ。
364 :
デフォルトの名無しさん :03/04/23 18:45
>>361 あ、そうです。
関数の先頭で戻り値専用の変数 "ret" を
宣言しておく感じです。
名前は必ず "ret" です。
"retval"って名前使う人も見かけたことあるけど、漏れは必ず "ret" です。
たとえVB使ってるときで return を使えなくても
必ず最後に function_name = ret で
切り抜ける人ってどのくらいいます?
int add(int a, int b) { return a + b; } こういうのも int add(int a, int b) { int ret = a + b; return ret; } こうするの?
367 :
デフォルトの名無しさん :03/04/23 19:13
364です。
>>366 あう。しないね。CとかPerlの場合、簡単な場合は直接リターンさせてる。
でもちょっと複雑になったら ret 使うよ。
っつーか、他でもない「ret」という名前使う人どれだけいるのかな?って思っちゃってさ…
368 :
デフォルトの名無しさん :03/04/23 19:15
>>365 そーか、resultってのもあるな。
retってresultの略?
>>366 この程度の処理ならコンパイラが上のほうを採用してくれるんでない?
ネーミングって関数やクラスになら気を使うべきだけど 内部変数に関しては別にどうでもいいやって思ってしまう・・・ nMySizeとか長ったらしい変数よりsizeで済ませたいじゃん プライベートメンバ変数やローカル変数にまで気を使いたくないな と、いい逃げ。
戻り値格納変数を自動で用意してくれる ObjectPascal / Eiffel のふたつの言語が "Result"なので自分はC/C++でもresultです。
ret、result どっちもよく使われているし
>>367 なんとなく、returnする箇所は
異常終了と正常終了の2箇所になるようにしてる。
ブレーク張りやすいし
374 :
デフォルトの名無しさん :03/04/23 19:31
>>366 みたいな時は使用しないけど
それ以外は ret でやってるな。
ret = result って意味で。
retはreturnの略じゃないのか?
376 :
デフォルトの名無しさん :03/04/23 19:35
>>374 いままで
ret: return value
の略だと思ってたんだけど、どうも
ret: result
の説の方が有力だな。
377 :
デフォルトの名無しさん :03/04/23 19:39
>>375 元は ret = return のつもりだったんだけど
いろいろやっている内に ret = result になってた。
断固 ret=return value 説を主張するぞ。
>>370 >プライベートメンバ変数やローカル変数にまで気を使いたくないな
禿げ同。っていうか当たり前。
そんなことを気にしなくちゃいけなくなったら何のためにスコープが限定されてるか分からん。
気にするのは公開部だけでよし。
ret = REsulT
ret 【発音】re't 【名】 紙巻きタバコ 【自動】 湿気で腐る、水を含んで柔らかくなる 【他動】 湿気で腐らせる、湿気にさらす、浸水する、水につける 俺はret = return value だと思うよ。
382 :
デフォルトの名無しさん :03/04/23 19:58
>>379 そお? ローカル変数だってある程度役割の決まったものは
名前決まってたほうがいいじゃん。
他人にプログラム引き継ぐとか考えると特に。
たとえループカウンタだって、いつも i から初めて j, k... とネストしていたのが
いきなり k とかから始めたらコード引き継ぐ人ってきっと混乱するよね。
m_とかアホな命名規則考えた香具師とその儲はまとめて死ね!
>>382 何を言ってるんだ?俺の言いたいことは
for (int loopCounter = 0; loopCounter < 10; loopCounter++) {
}
よりも
for (int i = 0; i < 10; i++) {
}
の方がいいじゃないかってことなんだけど?
短いことと気を使わないこととは別問題。
387 :
デフォルトの名無しさん :03/04/23 20:41
>>385 あは。俺が言いたいのもそういうことだよ。
普通ループカウンタってi, j, kあたりだろ?
別にローカル変数だからって好き勝手な名前をつけてもいいって話じゃないんだ。
役割の定まってる変数にはそれなりの命名法があるよね?
>383 変数のスコープ明示するのはいまや常識。
389 :
デフォルトの名無しさん :03/04/23 20:47
m_hogeうざい。_hogeと書けない某言語もうざい。
>>388 言語限定しちゃうけど、何のためのthisだよ。m_なんかいらんよ。
もしかしたら気づいてないかもしれないけど ここはコーディングスタイルのスレじゃないぞ。
だったらてめーで言語を作れよ の台詞の似合うAAを教えてください
393 :
デフォルトの名無しさん :03/04/23 21:03
コーディングスタイルは統一することが重要なんであってどれを選択するかなんてどうでもいいことだ。
今までreturnの略でretという変数名を使っていたぞ(^_^;) return valueでretvalとか・・・ resultは略さないで使っていた。
まあ ret って書くと中身が C9h に固定されそうであれだyほsd
「ループカウンタにはiとかkとかjとかを使うにょ」ってのも命名規約のうちかと。
戻り値は _ だろ。変に意味を持たせてはいけない。
ret が return value でも result でも使われ方は変わんない気がするが。
mainの引数はargcとargv これはゆずれない
args一個の言語もあr(ザザザ・・・
>>401 そんな人は村八分にされちゃいますYo!
403 :
デフォルトの名無しさん :03/04/23 21:27
retにしとけ。 RETurnもRETurn valueもREsulTも全て包含される…
あ、ごめん。DAT落ちしてるね。一応貼っとく
この会社辞めようと思ったソースコード#9
http://pc.2ch.net/test/read.cgi/prog/1045401372/905 //*G
//*L PROGRAM-ID PROG01
//*L PROGRAMMER XXXXX
//*G***********************
//*G int main
//*G 用途: エントリポイント
//*G***********************
//*G エントリポイントの開始
int main( int RRC, char *SYSIN[] )
{
//*L 開始メッセージの表示
printf( "PROG01 STARTED\n" );
・・・・・・
コメントは「//*」
プログラムの先頭に「PROGRAM-ID」と「PROGRAMMER 」
大見出しには「//*G」(グループの事らしい)
小見出しには「//*L」(ラインのことらしい)
main関数の引数は必ず「 int RRC, char *SYSIN[] 」
これ守らないと怒られる
>>404 それへのレスもコピペ希望。
●持っていないから見られない
RRC・・・なんの略ぅ?CはCountだと思うけど。
906仕様書無しさんsage03/04/05 01:39
(σ・∀・)σ gets(buf);
>>905 ツッコミどころ違うけど
予約語以外は全て大文字ですか?
907905sage03/04/05 01:44
>>906 YES!
大文字にしないと「変数と関数の区別が付かない」とかで怒られる。
でもユーザの関数は
int KEISAN_PROC(int ARG)みたいに大文字で宣言しなきゃいけない
凄く理不尽
908仕様書無しさんsage03/04/05 01:44
>>905 うわぁ…この規約考えた香具師、絶対コボラーだな(w
909仕様書無しさんsage03/04/05 01:48
>905
とりあえず手持ちの本から抜粋
>実際には、これら(引用注:mainの引数)の名前は何でもよいのです。しかし、
>プログラムの99.9%で、argcとargvが使用されています。残りの0.1%の
>場合、これらの引数を目にしたプログラマは、悪態をつき、名前を
>argcとargvに書き換えます。
(「C実践プログラミング」オライリー・ジャパン P205 注2 より)
0.1%だそうだが……どうするよ?(w
# あと、javaだったらやっぱりpublic void main(String SYSIN[])なんだろーか
# で、まずとっぱじめに「int RRC = SYSIN.length;」
914仕様書無しさんsage03/04/05 12:04
>905
あれじゃないか、JavaDocみたいな、コメントからドキュメントを自動生成するみたいなのがあるんじゃないかな。
915仕様書無しさんsage03/04/05 12:13
>905 * から ぷーん とコボルの匂いがしますな
916仕様書無しさんsage03/04/05 14:48
>>914 PROGRAM-IDとかはそうかもだけど、
int main( int RRC, char *SYSIN[] )
はそういう話では説明できないでしょ
917仕様書無しさんsage03/04/05 16:11
RRCはわからんが
SYSINは汎用機でのstdinみたいな意味合いがあるから
やっぱCOBOLerの作った規約だろうな。
public static main(String[] ARMS)
>>408 全部大文字は俺も違和感を覚えた。
全部大文字じゃマクロだと思ってしまうよ。
919仕様書無しさんsage03/04/05 21:48
>>905 って何だか論理的でスタイリッシュで
かっこいいですよね。
んで、言語は何? これ。
もしかしてこれが伝説言語のコボルですか?
921pupesage03/04/06 00:05
>大文字にしないと「変数と関数の区別が付かない」
これマジで言ってんの?ギャグかと思ったよ。
ふつー(がついていれば関数で、なければ変数って
暗黙のうちにわかるよな。
922pupesage03/04/06 00:09
>論理的でスタイリッシュ
うっそーん。1960年代の香りがぷんぷん。
ひょっとしてキミはオースティンパワーズ
を見てもスタイリッシュだと思う人?
923仕様書無しさんsage03/04/06 00:09
>921
きっとまだ配列添字参照が[ ]だってこと覚えてないんだよ……
BASICもCOBOLも添字参照は( )だし (COBOLは配列とは言わんか)
古代種コボラーはさっさと滅びよ
> 922pupesage03/04/06 00:09 現在進行形の話なのか…
>>409 > SYSINは汎用機でのstdinみたいな意味合いがあるから
mainの第二引数はstdinじゃねーぞぉ
この規約つくった人はCを理解していないんじゃないか?
417 :
デフォルトの名無しさん :03/04/23 21:59
今日会社でVB使ってコーディングしていました。 営業員を格納するオブジェクト変数を "Salesman"として 対応するコレクションの名前を "Salesmen" としたら 同僚に激しく笑われました。変ですか? セールス・メン。 普通複数形にしますよね? For Each Salesman In Salesmen ... Next みたいな処理をしたかったのです…。 女性営業員もいるので性差別だとも言われたのですが、 こういうときどうします?みなさん?
>>417 他のソース見る人の気持ちも考えよう
eとaの違いで混在してるんだよ?
SalesTeamとかどう?
赤と白は勇気の印 24時間戦えますか ビジネスマン ビジネスマン 僕らのビジネスマン
>>417 というわけで、Regainってのはどうよ?
>>422 ウケる!かも!!
やってみよー。ありがとう。
サムイって言われるかも
いや、SalesTeamのほうがまともですね。 こちらにします。ごめん。
>>425 ソースにはSalesTeamと記述しといて
ホントはRegainって書きたかったんだけどねって言って反応を伺えw
VBって変数名に日本語を使えるんだろ? 営業員でいいじゃない。
>>426 コメントアウトして歌も載せとくべきですね?
>>427 いや、そこだけ日本語の変数名ってのもナニだし…
>>429 それを手始めにありとあらゆるものを日本語にしなさい
>>428 そうだね、生産性を考えるとそれがいいよ
どうせならregain.basに記述したほうがいいね
プロジェクトには組み込むけど中身はオールコメント
これDLLにしますか?とか聞いてみ。
首になれるから
432 :
デフォルトの名無しさん :03/04/23 22:35
>>431 regainという名前の共有ライブラリって
なんか制御系方面のライブラリにありそうで怖いな(w
戻り値用の変数を関数の頭で定義するの反対 、と言っておこう。
>>433 Cでも?わざわざreturn直前にブロックを追加するのか?
いまさらだが、 >大文字にしないと「変数と関数の区別が付かない」 区別する必要はなんであるんだろ
>>434 ,
>>435 ソースを読むときの話。
代入可能な変数はコードを読むときに値の変化を追う必要が出てくる。
関数の頭で宣言された変数の場合、関数全体に渡って変化を追わなければならない。
これは人が読むときはもちろん、コンパイラが読むときもそう。
ってことで、必要になるまで代入可能な変数は作らない方がいい。
定義位置の縛られてるCだと、代入可能な変数を作ってしまいがち。
最近Cを使わざるを得ない環境になって、よくブロックの追加をしてしまう。
コンパイラにとっては確実に読みやすくなっているはずだが、
人にとっての読みやすさはある程度損なわれてしまう。
しかし漏れは、基本的に前者を優先する。
それに、変数の変化を追わなくていいという利点はあるわけだし。
>>437 俺の場合はソースの読みやすさは適切なコメントによる誘導が一番だと思っている。
だからわざわざブロックを設けてまで
"なぜブロックがあるのか"
と言う混乱を招く記述なんてしたくない
だったら最初から int work; //ワーク(その後の戻り値)
とでも書いておいた方がよほど親切に思えるのだが。
「なぜブロックが」などという混乱をする人がいるのですか?
>>438 バグを探すためにコードを読んでいる場合、コメントによる誘導は意味が無い。
でも、動作を解析しているときにブロックの設置が混乱を招くのは確か。
こんなところでトレードオフを強いられるCなんて嫌いだ。
>>438 だったら最初から int ret;
とでも書いておいてコメントも省略しておいた方が
よほど親切に思えるのだが??
>>441 retがワークに使われること自体おかしいだろ
int ret; //戻り値 兼ワーク
とするならまだ良いが。
445 :
デフォルトの名無しさん :03/04/24 02:28
>>442 そうか?
何を返すか明白な関数の場合でも
わざわざワーク用の変数別に作ってコメントまで付けて
それを直に返すか?
だったら初めからストレートにretで行くってもんじゃないのか?
変数に戻り値の意味をもたせるのがそもそもおかしい。 int work; : : return work; こう書いてあれば、コメント不要。
Javaを使いましょう。
>>444 すまん。勘違い。
だが、関数と変数の区別付かないネーミングっつーのは良いことか?
getなんつー変数があったら漏れは刺すね。
>>446 return work; まで読まないと
最終的にどの変数の値が戻されるのか分からないよ。
ソースコード記述自身が明確な意思表示になっている、短い 関数の集合でプログラムを書きませう。 関数内コメントは、バージョン・フォーマット・実装との 整合性などを管理する手段がないので、ライフサイクルの長い システムではあんまりイミがナイかも。たくさんあってもウザイ だけかも。助かるのは新規実装からしばらくの間だけかも。 関数内コメントで処理の説明をするくらいなら、わかりやす い名前の関数にして切り出すかも。実行時のコストがキニナルな ら、コンパイラにインライン展開させるかも。 関数の見出しコメントの管理方法なら、最近いろいろあるよ ね。
漏れが新卒社員のころ、先輩に「同関数内のあちこちにretuenなぞ書くな!」 と言われてたんだが・・・・どうなんだ? まあ、goto使ってあちこち処理を飛ばすのに近いイメージがあるが。
>>449 int ret;
と宣言されてる時点でretが戻されると信じる(信じさせる)ことが間違いだってんだよ。
>>452 int ret;
と書いておきながらretをリターンしないコードを
あなたは書いているの?(藁
>>451 たった一箇所しかないreturn文に向かってワケワカラン跳躍処理を実装
しなければならなくなったりするので、そういう頭ごなしの硬直
ルールはイクナイと思います。
456 :
デフォルトの名無しさん :03/04/24 02:46
>>451 なんというか、ボン→キュッ→ボン なナイスバディな関数を心がけてる。
バストの部分が異常処理で ウェスト部分がメイン動作部分、
ヒップが正常処理 って感じ。
幼児体形はあんまりよくないと思う
>>454 そりゃ困るね。
i変数をループやインデックスに使われない時も困るね。
つか、違和感アリアリ。
>>449 どうせ、return文を読まなきゃなにが返るのかなんてわからんと
思うが。天地がひっくり返ったようなバカは、思ったよりイッパ
イいるよ。
>>455 >>456 同感。
といいつつ、先輩の言った事を極力守ってしまうダメな漏れ。(ノД`)
だが、どこかしら、複数returnを認めるとgotoまで認めてしまうのと同じではないかという
感覚が正直ありんす。
刷り込みかなぁ。
true と false を交互に return するようなコードはどうかと思うけど チェックして駄目なケースを false で弾いていって、最後に true を 返す形はよく使うな
>>451 ああ、君の先輩は
int bar(){
//引数チェック
if(異常引数)
return 異常;
//処理本体
return 正常;
}
を、
int baka(){
int ret = 正常;
//引数チェック
if(異常引数){
ret = 異常;
goto 戻る処理;
}
//処理本体
ラベル 戻る処理:
return ret;
}
と書いているのか?バカですね…
try/catch/finallyを知らないヴァカ多数。
深いネストから抜けるために例外を使うの?
>>460 重要なのは、後からその関数を他人が読んで流れをトレースする
ことが可能かどうかであって、それが保たれるならgotoだって
積極的に使うかもな。俺なら。
まあ、新人にはとりあえずお約束で無理やり禁止するかもしれん。
道を極めんとするものは、何時ルールを破るべきかを真剣に考える
べきだよ。プログラミングに限らん。
>>463 言語と環境を特定しないでそういうことを言う馬鹿にバカ呼ばわり
されたくないな。
>>462 言っちゃ悪いが、そうバカ解釈するアンタに脱毛。
>>463 漏れが習った時はC時代なんだよ。
しかしながら、
>>464 と同じ疑問が。
例外処理でもないのに普段からifの代わりに例外使うもんか?
Cで組むなら変数にはきちんとコメント入れたほうがいいよ そうすることによって前もってアルゴリズムを想像することが出来るからね 変数の役割を先に説明してあげれば、 読み手はその時点で半分くらいのトレースを終えてるよ あとは纏まった機能ごとにコメントをつけるぐらいのシンプルなもの
>>467 使いません。それは悪い見本として晒しの対象。
Javaでは、頭の固い人か法律でもない限り、深いネストな
んか普通は書きません。
GCベースのおかげで、メソッド切り出しがCよりずっと楽。
漏れのクラスはちっちゃなprivateメソッドがイパーイ。
>>469 派外道。
>>470 だよね。
ちっちゃな愉快なprivateメソッド達は漏れも好きです。
>>471 ハァ?切り出した部分の役割が明確なら問題ないでしょ。
public hoge(){
//結構長い処理その1(コメント付)
//結構長い処理その2(コメント付)
//結構長い処理その3(コメント付)
}
↓
public hoge(){
結構長い処理その1();
結構長い処理その2();
結構長い処理その3();
}
/**結構長い処理1のコメント*/
private 結構長い処理その1(){}
/**結構長い処理2のコメント*/
private 結構長い処理その2(){}
/**結構長い処理3のコメント*/
private 結構長い処理その3(){}
javadocがコメントの管理も助けてくれるし、デメリット
ないと思うが。
ついでに、結構長い処理の内のいくつかをprotected abstract指定で テンプレートメソッド化して、hoge()の処理の一部をポリモーフィック に扱えるようにしたりするぞ。俺。変かな?
>>474 オーバヘッドとかもろに響くと思うけど<プライベートな小人達
publicとprotectedの合計 >= 小人さん達 くらいじゃないとちょっと嫌鴨〜
>>476 コンパイラやJITやHotSpotが、どうせインライン展開に解釈しなおしてくれるさ。
そういうことを信用しておいて、最初はなるべくわかりやすくプログラムを書く
べき。
パフォチューは全部終わってから。メソッドコールスタックを一段削ったくらいで
影響があるような仕組みにはなってないよ。どうせコアAPI1コールで15段くらい
消費してくれたりするし つД`)
ここの常駐マターリ組の人たちには早くSEになってもらいたいとかおもた
>>476 あと、最近のプログラムってCPUがボトルネックになることは
少ないから、すくなくとも実装時点ではあんまり気にしなく
ていいかも〜。
I/O(特にリモートサーバとの通信)が、激しくボトルネック。
メソッドコールスタックを気にする人が、平気で細粒度EJBや
Servletに頻繁にコール掛けたりしていると、こいつアホや
な〜、とおもいまつ。結構いるんだよね、そういう人…
見える範囲しかみないのに、見える範囲については偏執狂。
>>478 すでに本職の人がイッパイいるとおもうじょ。
>>480 同意。
オーバーヘッドが実際にどれくらいになるか分からんが、実行スピードを
追求しなきゃならんのなら、OO使ってる場合じゃないと思われ。
関数型言語で書いてるとこういうアホな議論は起こりにくい気がする。
>>451 新入社員です。
あなたと同じ事言われてます。
でもガード節でネストを浅くするのは
いいことなんじゃないの?
と疑問をもってます。
ケースバイケースですが。
Pascal、つーかDelphi使ってるけど、 暗黙の Result は便利と言えば、便利だ。 ガード節多用するからな。
関数の途中でreturnするのはダメで 関数の途中で例外投げるのはいいの?(私は素人です)
関数の途中でreturnするのはダメで 関数の途中でlongjmpするのはいいの?(私は素麺です)
関数の出口が複数あるのがダメだから関数途中でreturnするなという理屈なら、 例外も一応作っておいて、関数最後のreturn直前でthrowしなきゃおかしい。
int function() { int ret = 0; Exception ex = null; // 処理 if (ex != null) { throw ex; } return ret; }
いつまでも状態を持っておくよりは、 可能な所でreturn書いて行った方が見やすい。
>>488 例外は例外。
例外なら原則に従う必要なし。例外なんだもん。
このスレ面白いね ブックマークシトコ
激しく遅レスですが・・
>>267 のが意味合い的に一番に近くてそれっポイと思いました。
レス下さった方サンクスです。
# でもJavaっぽく計画は断念してしまいました(´・ω・`)ゴメソナサイ...
エロゲーのソースコードでは、どういうネーミングがなされているのか気になる
495 :
デフォルトの名無しさん :03/04/25 02:31
全部スクリプト処理
496 :
デフォルトの名無しさん :03/04/25 02:32
全部スクリプト処理なのでstrうんたらが多いに一票。
498 :
デフォルトの名無しさん :03/04/25 02:33
すまん二回も牡丹押しちゃった・・・
Onago.insert()が一番多いに100メソ
Rubyが500げっと
501 :
デフォルトの名無しさん :03/04/25 21:44
変数の値をtureにする関数名と falseにする関数名をどうしよう。
その変数名と機能はなんだ?
>>501 BEGINとENDかOnThe〜OffThe〜
でいい。そうしろ。ニュアンスが違ってもそうしろ。
enable,disable
505 :
デフォルトの名無しさん :03/04/25 23:09
BOOL SetFlagTF(BOOL * pVal)
>>499 boolean insert() { return false; }
インサートに失敗してるだろ
>>508 失敗してないだろ?throwされたんなら別だけどw
Onago.insert()が、onagoにinsertするのか、onagoがinsertするか、 そのあたりは永遠の疑問なわけだが。そこんとこどうよ?
Vector#addがVectoreにaddするんだから Onago#insertはOnagoにinsertするんだろ。
class PhallicObject; class Penis extends PhallicObject; class Vibe extends PhallicObject class Onago { boolean insert(PhallicObject o) { if (10 < o.getDiameter()) { throw new TooBigException(); } // implement me! return true; } }
>>510 Onagoオブジェクトにインサートする人がいるわけで。
でも引数なしだから相手に何も残らないよな
バイブか?
急速にネタスレ化してきたなw
515 :
デフォルトの名無しさん :03/04/27 03:17
最初の文字だけを大文字にして文字列を返す関数はなんて名前がいいでしょうか?
capitalize
プロパー表記とかPascal表記とかっていうんだっけ?
520 :
デフォルトの名無しさん :03/04/27 12:03
UMLの用語とネーミングが合致する用語が多く eXreme Programmingに最も適した言語として Javaは高度な至高の究極の技術なんだな〜と思えてきた。
521 :
デフォルトの名無しさん :03/04/27 12:28
>>511 笑える。インサート。ぷっ。
penetrateだろ。
最近は自分でエサを投げ込んで自分で釣られる 一人フィッシングも流行っているようだぞ。
それを単なるジサクジエンと言う
525 :
デフォルトの名無しさん :03/04/28 11:58
sはtでkとmをcしながらqしました。 こうゆうプログラミングはすんなよ、お馬鹿さんたちw
アルファがベータをカッパらったらイプシロンしたみたいね。
その宇宙ギャグ最高
perlです。絶対パスと相対パス名それぞれなんて名前にしようか悩んでいます。
absolute_path/relative_path_name
>>529 ありがとうございます!早速使いました。
531 :
デフォルトの名無しさん :03/04/28 17:26
長い名前は嫌なんですが、 abspath relpath で意味は通じるでしょうか?
通じません。
absはabsoluteだと分かるけど、relはpathがついてもrelativeだとは思わないな。 コメントつければ?
コメントはすべての場所にね。
zettai soutai
コメントつけるくらいなら 大人しくabsolutePath, relativePathにしたほうがむしろ簡潔やがな。
>>536 大文字小文字を混ぜるとき、先頭だけ小文字ではじめるのって、なんか利点があるんですか?
538 :
デフォルトの名無しさん :03/04/28 19:01
absとrelがいつも対で現れるんなら、まあわからんでもないが。
>>537 始めをiにするとかいったプリフィックスと同じようなもの。
馬鹿な奴が考えた馬鹿な規則。
プリフィックスと同様、利点など無い。
FullPathダロ
542 :
デフォルトの名無しさん :03/04/28 21:48
MSの関数とまざるからだろ。 俺も先頭は小文字だ。
>>542 まざるわけねーだろ。何のために名前空間があると思っているんだ?
まぁ名前空間はマクロにはきかないけどな
誰もマクロの話などしていない。
546 :
デフォルトの名無しさん :03/04/28 22:54
だれがマックロな話をしたのかわからない今日この頃。
スレを寒くした張本人なら自明な事だがな。
Caml表記では? 理由なんてない
>>545 >MSの関数とまざるからだろ
している
>>MSの関数とまざるからだろ >している していない(藁
普通に普及してるコーディング規約にケチつけるやつが たまに出てくるのはなぜだ?
552 :
デフォルトの名無しさん :03/04/28 23:59
そもそも名前空間でMSの関数とまざらないってところから俺がついていってないぞ。
普通に普及しているコーディング規約って ハンガリアンのことか? 意味の無い規約にこだわっている奴いるよな。
>>552 VB厨ですか? 名前空間について勉強してください。
>>550 CreateWindowとか名前空間で防げねーだろバカ
>>555 その関数のせいで、
メンバ関数はグローバル関数と同じ名前を付けたらだめなんだ、と勘違いをしたことがある!
MS殺す。
関数じゃね、マクロだ
なんだ? MSのマクロと区別がつかないから 先頭文字を小文字にしろって言ってるのか? アフォ過ぎ。
559 :
デフォルトの名無しさん :03/04/29 00:49
アフォ晒しあげ
変数名だったらIしかねーだろ。
マイナスイオンが体にいい ってのもまあ根拠が無いわけじゃないのよ。 巷で言ってるマイナスイオンってのはマイナスの電荷をもった物体 (空気とかチリとか)ってことで何するかというと プラスの電荷を持ったものと ひっつく性質があると。でもってそれがタバコの煙(の粒子)だったり なんか適当なちっこいチリつーかゴミだったりするわけで くっつきゃ当然重くなって空中に漂ってたものがぼとぼと落ちると。 空気中にあるゴミを掃除する→空気きれい→健康 とまぁこう来るわけだ。
>>558 お前は真性のバカだ。
スレの流れの発端はこれ(↓)だろ。
>>543 >
>>542 >まざるわけねーだろ。何のために名前空間があると思っているんだ?
Javaガキがいるかぎり このスレ最後まで荒れるな
Java厨はうざいが、あんたみたいなブビ厨もうざいんですけど。
565 :
デフォルトの名無しさん :03/04/29 06:29
VB最強
567 :
デフォルトの名無しさん :03/04/29 06:51
良識があるのはDel厨だけか
>>562 おいおい。スレの流れの発端は542だろ。
Windows.CreateWindow
禿++厨は静観するのみ 発掘された昔のオレの素敵メソッド class.beInitializedBy( hoge ); class.whoseWhenErrorOccurNotify( class_s_hage );
>>570 自分が昔書いたの読むと、参ることあるよな
なんで俺はこんなのを…みたいな
574 :
デフォルトの名無しさん :03/04/30 19:39
C++ でメモリリークのチェックを行うクラスを作ったんですが、 どんな名前が良いですか? それと、メモリリーク検出ツールの名前だったら? 今はそれぞれ CheckMemoryLeak と MemoryLeakChecker ですが、 ツールは CUI で使うので短い名前が良いです。
>>574 memory→mem
これは慣用句とみなしていいのでは?
あと個人的に check は意味が広すぎて好きじゃない。
detect (検出する) はどうよ?
んで最終的に
DetectMemLeak
・・・短くなってないね。
>ツールは CUI で使うので短い名前が良いです。 可読性より短さを採るなら何も考える必要ないじゃん。 それにリークのデフォルトはメモリ何だから明示する必要はない。 よってchklk
memlck
>>574 leakなんてあんまり書かないから単語自体の省略は不用。
leak_check
メモリリークしないクラス作ればチェッカー自体不要。
>>580 馬鹿か?
リークしてないことを確かめるために検出ツールが必要だろ?
chkleak でいいだろ
chkってなんかやだなあ
checkLeakに一票 …あと1字減れば8文字なんだがなぁ
8文字に何か意味はあるの?
void LeakMemory() { (void)malloc(1); }
588 :
鈴木健一郎 (NT4.0/2000/XP) :03/05/07 22:35
(ID, 名前, 住所, 体重, 性別 ...)みたいな感じのデータをいっぱい入力させといて、 w3 = GetData("Yamazaki","weight") こんな感じでデータを管理/取得できるオブジェクトを作っています。 で、このクラスにカッコいい名前をつけてください。 名前が決まらないのでコンストラクタが作れないし、ファイルに保存が出来ない・・・。 周りに聞いたら IDMapper IDManager とかちょっとセンスのない名前しか挙がらない・・・。
Meibo
DragonAsh
IndividualInfo
DragonBall
std::map< std::string , std::map< std::string , boost::any > >
>>593 なんだこれ? iniファイルのつもりか? スレ違いだ。
templateも知らない方はお引き取りください。
全く変数名じゃないだろ
598 :
デフォルトの名無しさん :03/05/08 00:07
>>588 PersonalDataStoreとか、PersonalDataRegistryとか。
Managerという名前は、自発的に何か処理するような賢いライブラリに与えよう。
単なるマップに毛の生えたクラスにまでつけると、名前の印象がインフレ起こす
ので良くないとおもわれ。ドラゴンボールで猫も杓子も戦闘力1万超えみたいな。
いろいろありがとうございました。参考になります。 ちなみに自分はかつて学生時代の課題で、RPGを作るとする、 主人公のステータスをビットフィールドであらわせ。そして 主人公が毒におかされる処理を書け。 という問題がありましたが、 その関数名は、 BubbleSlime() としたような。。。普通に合格でしたが。
コメントの枠は色々あるが、スタンダードは1番目、2番は厨房、3番はウニ、4番はヒッキー ///////////////////////////////////// // 1番 ///////////////////////////////////// //*********************************** // 2番 //*********************************** //----------------------------------- // 3番 //----------------------------------- //+++++++++++++++++++++++++++++++++++ // 4番 //+++++++++++++++++++++++++++++++++++ //=================================== // 5番 //=================================== //@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // 6番 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //#################################### // 7番 //####################################
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ //8番 //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//9番━━━━━(゚∀゚)━━━━━!!!!!
603 :
デフォルトの名無しさん :03/05/08 01:03
/** * どうせいいエディタ使えばコメント部は色を変えてくれるので、 * 前後を装飾で囲うのはロートルアホの証拠だと思う。 * 行末を装飾で閉じる奴もたまにいるよな。COBOLERに多いのかな? * 最低だよな。フォント次第で位置が変わるもんな(ワラ */
>>601 それは昔使った。けど見づらいからすぐやめた。こんなのとかもな。
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
結局枠なんて引いても邪魔なだけ。
public //++++++++++++++++++++ private //-------------------- protect //####################
結局枠なんて引いても邪魔なだけ。
VBとかエディタが線引いてくれるしな。
608 :
デフォルトの名無しさん :03/05/08 01:22
>>605 賢いIDEなら、ソースからメソッド一覧を作成したり、メソッド一覧から
選択するだけで該当する位置でエディタ開いてくれたりするので、今時
そんなマネをする必要はないと思うが。
5年前ならいいアイデアだったかもしれん。
みんなが色が見えると思わないように。
枠を引かない奴は ロクな実装できない奴多いね。 目的もはっきりしない用途もはっきりしない。 こういう奴らに限ってエラー処理を書かないんだ。 メイワク極まりない。
// ここまで愚痴
>>610 は仕様書を罫線で埋め尽くして嫌がられてる窓際族。
>>612 釣られてるのに釣ってるつもりになってるのってすげー寒いよね
Cは何返す?
>>616 真か偽かだろう。Java風に書くなら isChildrenDirectory とか、isParent となりそうな感じ。
(some code) ; right of code
(someblock
;; same indent level as code
(some code))
;;; top level of code
(someproc ...)
;;;; header and/or separator
>>615 (parent? A B)
619 :
デフォルトの名無しさん :03/05/09 01:12
>>588 名付けたいクラスはどこにあるの?
GetData は関数みたく見えるけど。
>>619 > GetData は関数みたく見えるけど。
factoryなんだろう。と抗夷狄に解釈してみるテスト。
>>617 難しく考えすぎてたみたいです。
IsChildrenで逝くことにしました。ありがとうございます。
判定→Is 保持→Has でやってんだけど、「可能か否か」ってどうネーミングしたらいい? こんな感じで文字列が浮動小数点に置換え可能か判定したいんだけど。 function ほげほげ・・・TextToFloat( S: string ): Boolean; var Value: Extended; begin Result := ( TextToFloat( PChar( S ), Value, fvExtended ) ); end;
折角変換するなら結果も一緒に返した方がいいような気がするが。 長くて良けりゃis_valid_as_float
is has can
>622 Convertible IsConvertible CanConvert
>>623 > 折角変換するなら結果も一緒に返した方がいいような気がするが。
この案採用させていただきますた。サンクスコ。
なるほど・・・やっぱ Is を付けた方がいいでつか。 でも長すぎだから IsConvTextToFloat にしときますた。
>>626 のようにするなら、Isはいらんと思うぞ。
・・・
掲示板CGIを作ろうと思ってるんですが 板は board、スレッドは threadですよね? 書き込み1つはどういう名前にしたらいいでしょうか
レスとかコントリブとかだろ
>>634 2ch的にはレスだけど、コントリビュートは、スレッドとも重なるきが(スレ立て)
message
article
category/topic
post
板 tree スレッド branch 書き込み leaf
>634 スレッドの最初の投稿がresponseだと変だなと思ったんですよね… うーん。色々と候補がありすぎて逆に悩みますが もう少し考えて適当に決めることにします ありがとうございました
642 :
デフォルトの名無しさん :03/05/16 23:58
「定数(列挙値など)は全部大文字にする」というルールの利点があれば教えてください。 Cでマクロに適用してたルールが残ってしまっているだけで、 最近の言語では時代遅れのような気がしています。 気がしているだけなので、最近よく迷ってしまうのです。
>>642 変数ではないことが一目瞭然なので、代入しちゃってコンパイラに怒られる鬱から
開放される。
コンパイラに怒られたらその時に直せばいいんだよ。 だいたい、意味的にそうそう間違って代入しようなんて気がおきるとは思えないんだけど。
case insensitive な言語
あるもの(たとえばウィンドウの大きさ)が固定(定数)かどうかなんて場合にもよるから 名前で区別できた方が便利
「固定(定数)かどうかなんて場合にもよる」→「名前で区別できた方が便利」 うーん、論理的なつながりが見えない。
関数なんかに名前付けてあげないで僕の浅黒いムスコに名前つけてあげてください
withがワラエタ
大文字で書かれると、怒られてる気分になる。 #define BUFSIZE 1024 俺が悪かった。 for(int i=0;i<BUFSIZE;i++) もう怒らないで。
やっぱり意味無いですね。
「全部大文字」というルール自体に必然性はないにしても # 打ちづらいし・・・ 定数であることが字面だけで判断できる事には意味がある。
> 定数であることが字面だけで判断できる事には意味がある。 それを教えて欲しいのですが、秘密ですか?
いわゆるひとつの「慣習」というヤツではないかと。
形骸化した慣習などいらぬ。
定数大文字はハンガリアン記法並に意味が無い。 だけどハンガリアン記法を盲信している人も結構多い。 それだけの話。
変数名、関数名にアンダーバーは禁物なんでしょーか。 アンダーバー好きなんですが・・・。
コーディングスタイルネタはスレ違いだろ。
DirectDrawCreate()は何故CreateDirectDraw()ではないんですか?
実はハンガリアン記法なのかも DirectDraw_Create → DirectDrawCreate
DirectDraw::Create()にすりゃ何の問題もないんだがな。 C#のDirectXのAPIではハンガリアン捨てたことだし、 さっさとC++のほうもAPIを刷新してくれんかのう。
664 :
デフォルトの名無しさん :03/05/23 03:09
PreXxxxXxxProcedure()→事前に行うxxxx処理 てな感じで作った関数に対し、事後に行う関数名をどうしようかと 小一時間考えますたが思い付きません。 知恵を分けてくれ。 本当は"事前=before""事後=after"なんだろうかね?
Pre〜 ⇔ Post〜 と安直に答えてみる
666 :
デフォルトの名無しさん :03/05/23 03:32
ごめん。早速のレスはありがたいけど、違うと思う。 辞書見たら pre( ) /pr , pr / 「あらかじめ」「…以前の」「…の前部にある」の意. ラテン語 prae `before' から って書いてあるわ。 てことはafterが対語か・・・・・・・・しっくりこないな。 preを止めてbeforeにすべきか?
begin end
endの対語がstartの気がして(鬱
670 :
デフォルトの名無しさん :03/05/23 03:53
>>668 ゴメソ。理解した。
しかし、postの対語はanteみたいだ(髭
>>664 PRE POST が一番普通だし、ふさわしい。
PRE処理POST処理って言葉もあるでしょ?
>>666 が正解。
POSTというとHTTPのメソッドを思い浮かべるけど、それとなんの関係もないところなら勘違いしたりしないね。
そういえば、英語の授業で、 読み物の前に簡単な概要が書いてある箇所が PRE-READING、 読み終わった後に理解を深めるための箇所が POST-READING ってなってたな。
675 :
名無し@沢村 :03/05/23 07:23
大下容子
>>664 maeshori
atoshori
でいいじゃん。
>>673 接頭辞と単語は別物。
pre-の対義語は普通post-。
いや、悪いこと言わんからpre-/post-にしとけ。 ante-なんて使ってるプログラム見たことないよ。 読む奴が戸惑うだけだって。
prefix⇔suffix
みんなありがと。 了解しますた。 折れ的に、postはトスポとかPoseMessageとかと思い出してしまうので違和感があったんだけど、 みんなの言う通りpostにするよ!
682 :
名無し@沢村 :03/05/23 17:09
大下容子
683 :
名無し@沢村 :03/05/23 17:15
おまいらよ、だぁぁぁぁぁぁぁぁぁぁぁぁぁぁああああああああああ あああああああああああああああああああああああああああああああ あああああああああああああああああああああああああああああああ あああああああああああああああああああああああああああああああ あああああああああーーーーーーーーーーーーーーーーーーーーーー ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ーーーーーーーーーーーーーーーーーーーーーっ!!!!!
>名無し@沢村 の@マークがスカラー波の渦巻に見えた。
>>684 なんのことかと思ったYO
@wave = "名無し@沢村";
scalar @wave;
>>686 で、どんなクラス名・変数名が大失敗だったんだ?
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
689 :
デフォルトの名無しさん :03/05/29 08:03
a g e !
690 :
デフォルトの名無しさん :03/05/29 12:41
perlなんですけど、テーブル(つってもcsvだけど)定義の情報を書き入れた 設定ファイル名を、なんてすればいいでしょうか? テーブル定義って、DBなんかだと専門の英語があったと思うんですが、 ふだんDB使わないのでわからないです・・・
tabdef.conf
schema.conf
694 :
デフォルトの名無しさん :03/06/06 07:52
設定ファイル → .conf 値を変更するとシステムの挙動が変わるもの。 システムへの要求に応じて変更する。 定義ファイル → .def 値を変更するとシステムが動かなくなるもの。 システム外の変更が要因で変更の必要性が生じる。
695 :
デフォルトの名無しさん :03/06/06 14:23
チェックボックスにチェックされている数を調べる関数名 1. get_check_item_num() 2. get_checked_item_num() 3. get_check_items_num() 4. get_check_item_nums() 5. その他 漏れ、アフォだなぁと感じるヒトトキ。 どんなのが最適?
count_checked_items()
get_checked_count こんなんでましたけど
num_of_checked
ミナサン、ども。 漏れの今までのスタイルからすると>697氏のがしっくり来ますね。 しかし、ミナサンのを見るといろんなパターンがあるなと思いますた。 edとかsとかofとか付けてしまった時、たちまち英語の文法から考え直して しまうんだよね。 結果、一部の関数名だけゴージャスになる(笑) それは別として、あとで記憶をたよりに先の関数を検索する時、edとか 付いているおかげで見つけられない時はイライラするし。まあ検索方法に 問題があるとも言えるが。 みんなはedとか付ける時、なんか基準とかあるんですかい?
英文法そのまま、完了や受動を表す変数ならed
漏れには
>>698 、あるいわこれに get を付けたもの、
更にいえば、アンダーバーではなくハイフン
NumCheckedに決まっている。
COBOLだったりしてな。
705 :
デフォルトの名無しさん :03/06/20 17:55
アトリビュートを入力して、そこからルールを見つけ出すプログラムを作っています。 データを追加する関数なんですが、どんな名前にしたらいいんでしょう? 今のところ候補なのは、 InputAttributeIntoRule() AddAttributeIntoRule() 以上なんですが、他に何かいい名前はないでしょうか? オブジェクト志向(C++)で作っているので、Attribute クラス、Rule クラスが存在し、 上述は Rule クラスのメンバ関数です。 よろしくお願いします。
>>705 Ruleクラスのメンバなら(IntoRule)は冗長でしょう。
あとInputAttributeだと標準入力から入力する関数みたいだから
AddAttributeのほうがいいと思う。
708 :
デフォルトの名無しさん :03/06/20 22:45
あの〜 ちょっと話がズレてるかもしれませんが・・ Graphics Sprite Music とかの略称ってどう付けます? というか、なんか略称の決まりがありますか? 自分は Graphics→Gpc Sprite→Spt Music→Msc
709 :
デフォルトの名無しさん :03/06/20 22:53
>>708 普通は開発するお客が日常使う言葉を変数名にする。
なので、
Graphics−>SGI
Sprite−>Item
Music−>Bgm
710 :
デフォルトの名無しさん :03/06/20 22:55
>>708 略さないほうがいいと思う。
(おれはJava使い)
>>709 変数名とかそういうのじゃなくて
もし略称を付けるとしたらどう付けますか? 参考までに・・
>>710 確かに「Graphics」だけなら略さない方が良いでしょうが、
「GraphicsModeFlag」とかの場合「GpcModeFlag」とかにしません?
Graphics→Grp Sprite→Spr Music→Mus 区別できればなんでもいい。
>>712 ああ、どうも。
やっぱり、SpriteはSprかなぁ・・
CounterもCtrかなぁ・・
ctr は control だろ
略すとしたら、頭文字だけか、全く略さないかのどちらかだなぁ。 中途半端なのは、結局混乱するだけだし。
CounterならCnt
>>716 CounterならCntのやり方で付けると
PointerはPnt?
Ptrでしょ?
718 :
デフォルトの名無しさん :03/06/21 00:11
>>711 Java前提で考えるのは許してね。
Graphics Mode Flag
GraphicsMode → プログラムの対象領域を示す言葉だから略さない。
Flag → boolean 型として宣言する時点で flag だということは理解可能。
結論: isGraphicsMode にする。
もしも true/false の2値ではなく3値以上の列挙タイプのクラスだというならば、
"Flag"という単語自体が不適当で、Supertype-Subtype の関係にするべきだと考えるよ。
Mode
<|--- GrapchicsMode
<|--- XXXMode
自分C++使ってるんですが、Java使いってこんな事考えてるんですか・・
isは省略しとけ
>>708 Graphics は、Gfx ってのを見たことある。
>>717 一定の命名規則を守ることは重要だが、
既に広く使われている命名を用いることは更に重要。
無駄に混乱させたいなら別だが。
Graphicsとか、Sprite, Musicみたいな、見てすぐわかるような名前を
下手に略してわかりにくくする意味って何?
>>718 Delphi使いだけど、ほぼ同じつけ方してる。
補完できるから可読性を減らしてまで省略したくない
>>724 わざわざタイプしてるの?
もしかして、Lisp見て括弧ウザーとか言う人ですか?
727 :
デフォルトの名無しさん :03/06/21 09:52
>>723 省略することで削減できるエネルギー
タイプしなくて済む文字数 * 1文字を打ち込むためのエネルギー
省略しないことで削減できるエネルギー
略語から本来の意味を想起するエネルギー * ソースを読む回数
ソースコードを打ち込むのはほぼ1人。
ソースを読むのは不特定多数。
(たとえばコードレビューするならレビュー参加人数分を加算。保守まで含めたら…)
どっちが多いかといえばもちろん後者だろ?
グラフィックスだと分かるのは
>>721 だけだな。Gpc??? Grp?グループ?
俺は変数名に大文字を使うのは嫌い。アンダーバーでつなげるのが好き。
もちろん関数名も
>俺は変数名に大文字を使うのは嫌い。アンダーバーでつなげるのが好き。 そんな話してない
なら 独り言です、と書け。
>>734 あなたに命令される筋合いはありません。
だったらはじめから独り言ですと書け。 こいつもそうだけど、分からないことを分かるのが高度とか思い込んでる風潮があるよな。 たとえば国語の試験。「作者は何を考えてこの文章を書いたのか答えなさい」 こんなの読んで分からない文章書くこと自体が間違い。 人によって解釈がまちまちになるほど説明が下手な文章を書くほうが間違い。 にもかかわらず、この設問のように、気持ちを察することの方を勉強させようとする。 本来は著者にもっとわかりやすい文書に書き直させるのが正解。 こんな教育やってるから、文章(説明)の下手なやつが多くて、 わからないと「実はこういう意味なんだ」「行間を読め」とか、なら最初から そう書けボケェ!というやからが増える。 上場企業には財務を説明しなければならないアカウンタビリティ(説明責任)という のがあって欧米では常識なのだが、日本は聞かない方が悪いみたいな風潮があるからな。 特に仕事なんかそうだよな。ドキュメント一式渡して、あとわらかないところは聞いてくださいと。 しかし最初はわからないところもわからないんだから、わかるように説明するべきなんだが、 みんな先輩からもおなじ教育受けてきてるから、おんなじことを繰り返す。 とくにソフトなんて客と1次請け、1次請けと下請けと、階層が多いんだから、なおさら 説明は大事。にもかかわらず、説明の重要さがわかってないから生産性が低くなり、 なんで生産性が低いのかすら理解できないということになる。さらにみんなこんな もんだとか「みんな」意識が芽生えちゃって、問題とも思わなくなる。おまいらの職場も こんな感じだろ。ちなみにもれが引き継ぎすると、このあたりの説明資料および説明行動 するから、すげぇ早く引継ぎが出来る。だいたい最初に自分が教えてもらったときの 3倍くらいの早さで理解してもらえる。相手の気持ちになって、自分から説明しようという 気持ちを持つだけのことなのにな。
737 :
デフォルトの名無しさん :03/06/21 10:25
STEP1 略語を使わずに長い変数名を書く。 STEP2 キーボードで単語選択する(出来ないならその腐ったエディタを捨てろ)。 STEP3 コピペする。 別に手間でも何でもないな
738 :
デフォルトの名無しさん :03/06/21 10:28
長ったらしいのは見苦しい
>>708 今更だが、全部略さないのが流行りだろう。
キーワード補完できるまともなIDEを使うよろし。
740 :
デフォルトの名無しさん :03/06/21 10:34
俺は20文字くらいの変数名は平気で書くよ。 後からリファクタリングするとき変数名が短すぎると、正規表現でも一括置換が困難になるからな。 gcとかdcとかppsとかは、クラスライブラリの挙動確認のために走り書きするテストコードでも使わないよ。
>>736 コピペかこれは? マジレスするが、
> たとえば国語の試験。「作者は何を考えてこの文章を書いたのか答えなさい」
> こんなの読んで分からない文章書くこと自体が間違い。
> 人によって解釈がまちまちになるほど説明が下手な文章を書くほうが間違い。
試験問題において、答えが複数ある問題は「悪問」というのだ。
それはどの教科でも同じこと。国語だけが特別なわけではないぞ。
逆に言えば、読解問題は、良文から解釈の明白なところだけを出題する必要があるから、
最低限の国語力がある人間にとっては恐ろしく簡単だったりする。
センターなんか、絶対にありえねー答えを全部消していけば正解しか残らんし。
同じマークシートなら情報処理技術者試験なんかのほうがよほど曖昧なくらいだ。
実際、上位の大学目指すなら、読解問題など常にパーフェクトでないとお話にならん。
>>741 出来ない人間のひがみだから相手するな。
コピペニマジレスカコワルイ
受験国語苦手なヤツの共通点。国語に論理性はないと思い込んでいる。 受験数学苦手なヤツの共通点。数学は暗記科目だということを知らない。
745 :
デフォルトの名無しさん :03/06/23 02:37
numの一個前の番号が入る変数は何にすればいいですか?
num_minus_1
num0
previousNumber
num_no_1ko_mae
numInFrontOfNum
>>745 マジレスすると prev_num
一つ後の番号が入る変数は next_num
getPreviousNumber
perlなんですけど、 ロックファイルと排他中のロックファイルの変数名、ファイル名が思い付きません。 なんかいいのないですかね? あと、テンポラリーファイルの変数名も出来たらお願いします。
755 :
デフォルトの名無しさん :03/06/24 10:53
$lockfile lock $tmpfile
>>755 ありがとうございます。
排他中のロックファイルは…。
757 :
デフォルトの名無しさん :03/06/24 10:57
>>755 さんと
>>757 さんの変数名のスタイルの違いで(アンダーバーがあるかないか)でまた迷ってしまう…。
こんな自分が嫌(ノД`)
759 :
デフォルトの名無しさん :03/06/24 11:03
>>759 あんまりアンダーバーとか気にしない人でつか?
漏れなんか気にして気にしてしょうがないよ…。
761 :
デフォルトの名無しさん :03/06/24 11:10
>>760 複数の単語をつなげるときはアンダーバーを使うか単語の頭文字を大文字にするなどしないとわかりにくくなるでしょ。
>>759 もうそろそろウザいですが、排他中のファイル名も…。
ウザくてすいません。
これ教えていただいたら、回線切って首吊って逝きますんで…。
763 :
デフォルトの名無しさん :03/06/24 11:16
ロック中かそうでないかで変えるの? そういうロック方式なのか・・・・ じゃあ、ロックしていないときは[適当な名前]、ロック中は[適当な名前].lock
765 :
デフォルトの名無しさん :03/06/24 11:29
>>763 renameを使ったロックですから…。
>>764 両方とも適当かよヽ(`Д´)ノ
マジレスすると、デッドロックになった場合とかに困る…。
766 :
デフォルトの名無しさん :03/06/24 12:12
編微分値を求めるメソッド名が分からん。(Java) なので今のところ、 double[] $f$u = this.calc__$f$u(); // ∂f/∂u double[] $f$v = this.calc__$f$v(); // ∂f/∂v とかしてる。
そういうのはその筋のプログラムを探して真似るのが吉
lockfileやfilenameを区切るかどうかはわりと揺れるな。 俺はくっつけちゃうけど。
排他中のファイル名…。 しつこいsage。
>>769 ロックファイルが複数あるのか?
以下スレ違いにつき略
>>770 いや、rename方式のロックだから、
ロックしてない状態とロック中の名前が必要なんじゃないんかと…。
しつこいsage。
コーディングが進まないよ〜(ノД`)
LockFile, Filename
filenameはfile_nameと書くべきではないかと思いつついつもfilenameと書く。
fname
fn
StopWatchかStopwatchか、それが問題だ。
timer
うぅ…。 ロック変数 $lockfile ロックファイル lock.lock 排他中ロック変数 $ex_locked テンポラリーファイル変数 $tmpfile 排他中ロックファイル ????? シノウカナ…。
>>778 まだ悩んでたの?
適当にタイムスタンプとかPIDとか付ければ良いじゃん。
>>778 おまいは自分で考えることすらできないのか?
名前考えるのもいいが、コード書こうぜ。 最近プリフィックスだけつけて後はテキトーに命名してる ハンガリー人の気持ちが分かるようになってきた。
>>778 ロックファイルが
lock.lock
なら、排他中ロックファイルは
rock.rock
>>773 俺はalcで調べてfilenameって単語があったからfilenameにしてる。
hoge1つで足りなくなったときは何を使えばいいのでしょうか。
foo bar
>>788 それはhogeと一緒には使わんのじゃないか。
>>787 hoge fuga
hoge hage hige debu
アクセスログを見るプログラム名が思い付きません。 いい名前ないですか? 自分で考えたのは2chをパクってread.cgi。
>>791 logview
logbook
regretbook
LogViewer AccessLogViewer
log-analyze
アクセスログを見る.cgi
796 :
デフォルトの名無しさん :03/06/26 11:51
797 :
デフォルトの名無しさん :03/06/26 12:01
>>796 ネタとも言い切れんよ。分かりやすいじゃんか。
気持ち悪さを許せる感覚は難しいな。
漏れは、ソースコードにマルチバイトが入るだけで気持ち悪いが。
(スクリプト言語ならともかくコンパイル言語となるともう許せん)
>>797 でもCGIなら(一般的には)ブラウザでアクセスするんだから
URLエンコードされちまうぞ。
日本語のファイル名を使うやつは敵
>>795 日本語プログラム名を受け入れたとしても、
用言ってのがやや気持ち悪い。
アクセスログを見るやつ.cgiにしよう。
ログを見るひと.cgi
>>800 >>795 じゃないが、
アクセスログを見るCGIなんだから
アクセスログを見る.cgi でいいんじゃないか?
中のひと.cgi
ネタスレ化してきたな。 sageと。
目撃者.cgi
(゚Д゚)ハァ?.cgi
キーの押下状態を判定するメソッド(is○○)はなんてつけたらいい? 今は 押された瞬間=push 離された瞬間=release 押されっぱなし=press 押されていない=free としてるんだけど、対応とれてない感じでもにょり気味です。
down/up/press/??
on/off/onning/offing
>>807 javasccriptのイベントハンドラをぱくってみるとか。
あ、でも押されっぱなしとかはないか?(たぶん
keep_on_pressing
>809 〜ingが起こった瞬間でしょうか。 直交性はありますね。 >810 javascriptではdown/up/press/なしでした。(808氏もここから?) イベントが起こっていないだから通知する必要もないってことなんでしょうね。 マウスはcllick/??/press/??でpressはここからパクリました。 押されていない状態を表すのでしっくりくるのがないんです。 いっそ811みたいに文章系にするか・・・。 ちなみにゲームでジョイスティックの入力を読む場面を想定しています。
pushは元の意味はともかくプログラムでは「押し離す動作」になる気がする。
down ←→ up press ←→ release
プレスリリースか。
816 :
デフォルトの名無しさん :03/06/28 10:21
>>807 event と state が混在している気がする。
押した/押された → event
押されている/押されていない → state
押されていないは、単純に !isPressed() だと思う。
--------------------
Key
--------------------
isPressed(): boolean
<<enum>>
event = {PRESS, RELEASE}
--------------------
--------
<<enum>>
KeyEvent
--------
Press: KeyEvent
Release: KeyEvent
--------
アナログボタンならまた話は別。
state に変化はないが、event に「押下量変化」が加わるだろう。
>>816 のここは要らない。
event = {PRESS, RELEASE}
818 :
デフォルトの名無しさん :03/06/28 15:02
>>816 言われてみればごっちゃになっていました。
〜〜した瞬間というのはたしかにイベントになりますね。
(起きたら通知されるか、起きているか問い合わせるかという違いはあるのもの)
up/down/press/!pressでいくことにします。
皆様、参考になりました。ありがとうございます。
イベントとか言ってる奴はゲーム造ったことない夢想厨。
ゲームと通常のアプリを混同するのはいかがなものかと
>>820 とか言っている奴はゲーム造ったことない夢想厨。
ゲームだと入力を読むのは普通ポーリングしないかね。
というか「押されていない」以外に「放された」も付けないと R-Typeの溜め打ちができないぞ。
825 :
デフォルトの名無しさん :03/06/29 22:34
Javaですけど、TextFieldとTextFieldに入力された値の名前で、なんかいいのないでつかね? TextFieldの項目?はURLとダウンロード先ディレクトリでつ。 自分でも少し考えました。 URL:TextField=url TextFieldの値=urlValue DownDir:TextField=downDir TextFieldの値=downDirValue
826 :
デフォルトの名無しさん :03/06/29 22:49
>>825 コンポーネントクラス内部で閉じていて良い値では無いかと?
TextField textFieldURL = new TextField();
TextField textFieldDown = new TextField();
String getURL() { return textFieldURL.getText(); }
String getDownloadDirectory() { return textFieldDown.getText(); }
>>825 ・不必要に単語は略さない
・value のような抽象的な単語は使わない(無くても意味は同じなので)
>>825 漏れだったら、
オブジェクト:tfURL
値:url
>>826-828 レスどうもです。
漏れ的にはtfとかtextFieldとか付けたくないんで、他になんかないですかね?
>>829 そのつもりだけど、漏れの書き方が悪かったかな。すまん。
>>830 GUI部品には接頭語付けたほうがいいよ。
部品が多くなってくると名前付けに絶対困る。
それが分かってて「他にない?」って聞いてるなら無視してくれ。
漏れは「部品名+入る値」で統一してる。
例えば、「コメントを入力するTextField」なら、
TextFiled : tfComment
TextFiledの値 : comment
みたいに。まっ、でも
TextFiled : comment
TextFiledの値 : commentValue
と統一すればある意味等値か。
追記
他の変数がどうなってるか、に依るかもね。
例えば、GUIは全く無視して、「お金を表す文字列」に
String moneyValue = "3000";
とかしてるなら、「tfとかtextFieldとか付けたくない」でもいいと思うけど、
そうでないなら、
>>831 の後者は妥協して諦めることを推奨するね。
>>823 普通はポーリングするが、イベントモデルをゲームを作ったことがない理由にはできない。
ゲームでもイベントモデルは使うよ。
DelphiのOnKeyDownなんか使うかよ、とかそういう言語の標準機能の話ではないよ。
>>833 そりゃあ探せばイベントモデルで実装する人もいるかも知れないが……。
というか、
>>820 は私ではないからな。
>>824 毎秒60回もポーリングすれば、溜めやその解放くらい誤認することはない。
アクションゲームで短くボタンを叩いても、4フレームくらい押下期間がある。
ゲームでイベントドリブン流行りじゃないの? gems 読んでから最近のトレンドだと思ってた。 まあ他の処理では全対象イテレーションして入力だけイベントドリブンは作りづらいだろうけど。
しょうもないテキストデータから、Foo というオブジェクトを抽出しようとしてまつ。 そこで、パーサを通して、見つけたオブジェクトを格納するリスト名前は、 "lookingFoo" こういう名前OKかしら
FooBook
Book?
bookには名簿とか帳簿って意味があるんだよ
しつこくロックファイルの名前について質問したものです。 誰か排他中のロックファイル名を考えてください。 共有中のロックファイルはlock.lockにしました。 おながいしまつ。
842 :
デフォルトの名無しさん :03/07/03 09:51
種類の数を入れる変数はなんとしたらいいでしょうか?
n_types
>n_types n_ って、どういう意味?
>>840 shared.lock
exclusive.lock, ex.lock
または前後逆にして
lock.sharedとか
>>846 ありがとうございまつ。
ex.lockにすることにしました。
少々スレ違いかもしれませんが… winSDKでは、変数の規則があると聞きました(C言語使ってます)。 しかし、その規則がわかりません。 教えてください。
日本語訳は見つからんかった。 適当にぐぐってくれ。いっぱい出てくるから。
漏れがジャンガリアン及びジャンガリアン崩れを使うのは int CHoge::m_MemberVariable; bool bResettable; BOOL blRet; CHoge* pResult; こんくらいかな。メンバは一発で知りたい。boolean は一発で真偽値だとわからないと 意味をとらえ間違いやすい。ポインタもポインタであると一発でしりたい。 BOOL のプリフィックスを bl にしたのは bool との混同を避ける為。 ちなみに MS 御謹製の BOOL はちっとも真偽値じゃない(WindowsAPI の GetMessage あたりの説明参照) から、bool での代用は不可。 俺的には上記の区別は絶対必要で、逆に以上厳密にやっても邪魔なだけだと思ってる。 まあ個人差はあるだろうけど、メンバ/非メンバの区別なんかは一度やるとやめられなくなる危険性すらあるくらい便利。
メンバ/非メンバの区別はthis->じゃないのかえ?
じゃあpropertyとの区別は?
is_resettableで解決します。bより分かりや巣い
canReset
> メンバは一発で知りたい。
プリフィックスなくても一発です。ローカル変数でないものがそうです。
> boolean は一発で真偽値
>>853 のこういうのとかに従えば、混乱することなどない。(要英語力)
> (13) bool変数を返すメソッド
> is + 形容詞,can + 動詞,has + 過去分詞,三単元動詞,三単元動詞 + 名詞.
> (14) bool変数
> 形容詞,is + 形容詞,can + 動詞,has + 過去分詞,三単元動詞,三単元動詞 + 名詞.
> ポインタもポインタであると
あー、これは理解できないこともないかも。自分は使わんけどね。
HTTPリクエストをrequestにするのは変ですかね? fileにしとくべき?
fileってなに?リクエストはrequestだろう。
>>861 Javaだと/hoge/index.htmlみたいなやつは、
getFileみたいなメソッドで取得できるからfileの方がいいかなと。
そういうときはgetFileとrequestを両方作るのがスジでは
どうやったらfileとrequestを混同できてしまうのか不思議。
今やってるのはPerlですけどね。
背景がわからんから意味がわからん Java ServletのServletRequestみたいなオブジェクトかと思った。
それはすいません。 JavaのURLクラスかなんかに、 getFileってのがあってそれで/hoge/index.htmlみたいにできるから、 それにならってfileにしようかなと…。 てか、分かりなくくてすまそ。
そもそも何の名前なのかがわからない。 クラス? インスタンス? メソッド? Javaやってんなら、とりあえずそれに倣ってみたら?
Perlなんで、クラスやらメソッドやらは関係ないと思います。 が、インスタンスにあたると思います。 でも、もういいんです。 requestにすることにしたんで。 ありがとうございました。
うはっ。思いっきり間違えた。
$request = new
HTTP::Request (GET=>'hogehgoe');
だろ。
もういいっつーんならいいけど、Perlだから関係ないってことはないと思うぞ。 呼び方は違うかもしれないけど同じこったろ。
3Dのモデルを表示するときの、位置と姿勢の変数名どうしたらいいですか? 位置はpositionにしてるんですが、姿勢が分からない。
>>855 this-> はつけ忘れても他の可視スコープに同名のものがある時はコンパイルエラーにならないですから。
>>856 C++にもプロパティ( ゚д゚)ホスィですね。テンプレートのあるC++にとっては構文糖衣以上の意味ありますしね。
>>857 個人的にはまともな名前は isHoge(), canDo() みたいなパブリックなアクセサに使うって決めてるので。
パブリック部分にまともな名前を残しておくためにわざとプライベートな名前を汚しているとも考えられますが。
>>859 > > メンバは一発で知りたい。
> プリフィックスなくても一発です。ローカル変数でないものがそうです。
一発でローカル変数かどうか見分けたいという意味なので、話が逆です。
「あれ?この変数はどこから来たのかな?」と思って関数の頭まで遡るのが嫌なのです。
> boolean は...(要英語力)
これはちょっとだけ同意なのですが、他の人との共同作業だと心底
「日本人に英語力求めるのは無理」だと思わされます(とは言え私の英語力も人のことは言えない程度なのですが)。
bool も enum も使わずに int で代用するタイプの人と一緒の仕事だと
本当にひやひやイライラさせられる事が多々ありますよ。
>>875 >「あれ?この変数はどこから来たのかな?」と思って関数の頭まで遡るのが嫌なのです。
C++の話をしてるんじゃないのか?(CでもC99だったらおかしな話)
揚げ足鳥気味でスマソ
>>874 どうもありがとう。
用例からするとpostureみたいですね。でもこれだと、positionの略としてposとか
よくやるから紛らわしいなぁ。でも、まぁいいか。
>>876 まあ this-> を常につけるのはいい習慣だと思うので、とくに異論はなしという事にしておきまつ。
個人的にはメンバと関数のローカルが同じ名前になるのは(文法上じゃなくて頭の中で)曖昧なので好きじゃないですが。
>>877 それは関数の頭以外で変数を宣言するって話の事ですか?
だとしたら揚げ足鳥失敗っすよ。
関数の途中で「あれ?この変数はどこから来たのかな?」と思って、ソースを遡ってる時を思いうかべてみてください。
その変数名が出てこない事がはっきりするのは関数の頭の引数名までチェックし終わった時です。
(名前空間のスコープに変数ごろごろさせるタイプの人だとそうはいかないかもしれませんが;-p)
> 関数の途中で「あれ?この変数はどこから来たのかな?」と思って、ソースを遡ってる時を思いうかべてみてください。 大抵は一目見ればわかるんぢゃない? ローカル変数かメンバ変数かの識別に苦労するというのは、 そもそもメソッドがあまりに長い、あるいは複雑であることの警告だと思ってます。
あるいはクラス自体が詰め込みすぎか。
>>880-881 まあそうくるだろうとは思ってた。
結局のところ、何が嫌ってメンバ変数ってある種のコンテクストなのよね。
暗示的な所が嫌。perl poet の紡いだポエムの意味を読み解く必要がある時の気分が嫌。
だから積極的に明示してあげたい。と。
あとは長い間、実装の詳細がどうなっているのかを気にかけていなかったクラスをメンテする時とか
ソースがたくさんの事を語ってくれると助かる。
this->が付いてるのがメンバ変数。
thisつけるの面倒くさい。パラメータにconstつけるのと同様に。
それはそうと、引数はデフォルトでconst でいいよな
下手に悩むよりよっぽどいい。たった6文字だし。
->がめんどくさいな。 .でアクセスできるようにするべきだった。
>>887 アクセサでしか使わないんだから別にいいじゃん。
#define self (*this) self.member
imageをimgて略すのは普通? それなら、イメージを出力するのはprint_imgでOK?
>>890 アルファベット2文字をわざわざ省略する必要性はどこにあるの?
print_imageのどこが悪い
残念、Pythonでした
なんだフィトンか
ピトホンですよ。
898 :
デフォルトの名無しさん :03/07/07 22:22
変数じゃなくて関数なんだけどさ。 範囲内かどうかを返すプリディケイトの名前 IsRange(...) と InRange(...) どっちがいい? というか IsInRange(...) ?でもこれはちょっと冗長じゃありませんか? もっといい名前も含めてご指南下さいませ。
899 :
デフォルトの名無しさん :03/07/07 22:29
isRangeに128票
InRange にするかなあ。違った角度で IsValidRange なんてのはどうだろう。 Isは無くてもいいか。
902 :
デフォルトの名無しさん :03/07/07 23:06
関数なんだよねえ。 だったら RangeContains(low, high, target) くらいかなあ。 クラスならば確実に Range#contains(target) とする。 (Range クラスには low, high プロパティがあるはず)
レスありがd。
>>899 理由も添えてください。是非。というか今更だけど、
isRange だと「範囲か?」だから意味間違ってますよね?
>>900 なるほど、valid ってのはなかなかですね。サンクスコ。
でも out_of_range みたいな慣習からすると range からすでに 「valid な範囲」
という意味まで汲み取れてしまうような気もしてしまうのが悩みどころです。
>>901 参考になりますた。蟻がd。
>>902 表記からするにジャバラーさんだとお見受けするのですが
蛇腹会だとやっぱり contains が普通な名前なのでしょうか?
私の感覚だと範囲チェックというより Range が何らかのコレクションで、
そのコレクションの中に equals ではなく same の意味で target があるように感じてしまうのですが…。
904 :
デフォルトの名無しさん :03/07/08 00:32
>>903 ハイ、Javaで御飯を食べてますです。
コレクションと範囲は違う概念だと思うよ。
コレクションは、複数個の要素の単純な集まり。
範囲は、上限と下限の間の連続した要素の集まり。
もうちょっというならば、上限や下限の存在は必須ではない。
(「1以上」「負の整数」「全整数」はすべて整数の範囲を表す)
"The range is foo value." はおかしい。
"The range contains foo value." もしくは "Foo value is in the range." でしょ。
クラスにした方が収まりがいい気がしてきました。
>>904 レスありがdございまつ。関係ないですが私は C++ でご飯を食べてまつ。
> コレクションと範囲は違う概念だと思うよ。
あう、これは了解でつ。私が言いたかったのは、その違う二つを混同するような名前に見えるのが心配という事でつ。
vector.contains(elm); // 任意個の要素の中に該当するものがある?
range.contains(4); // 指定した範囲内に収まっている?
で、下の方の意味が上の方の意味と一緒と取られると紛らわしい気がするのでつ。
(同じ「固定」でも fixed が固定長、constant が変化しない変数という感じで(一般に)使い分けられてるのと同じ感じの使い分けがしたいのです)
別の用語にするなら何があるでしょうか?
bool Range<T>::Includes(T), bool Range<T>::Exists(T)
うーん私が思いつくのはイマイチっぽい…というかむしろ Contains よりも
誤解される可能性が高まってますね。
何かもっといい名前があったら教えてください。
地目 とか 建ぺい率とか容積率みたいな、どっかの業界用語的なもの (↑は不動産業界ね)だと、英訳がわかんなくて、 変数名に何つけていいかこまる。 こういうとき、どうしてる? 容積率は、容積=capacityらしいので、 めんどいので$capacity にしちゃったけど(ちなみにperl)
907 :
デフォルトの名無しさん :03/07/09 00:33
業務プログラムでは変数のローマ字を使うことが得策かと。 ただし欠点は @略すとわけがわからなくなる A変数名がやたらと長くなる 英語とローマ字の併用は極力避けること。わけわかんなくなります。
>>908 おお、いいっすね。建ぺい率もちゃんとでてきた(building coverage)
さんくす。
>>908 空気抵抗=air resistanceと。
∠(`□´) < 素晴らしいであります、軍曹閣下!
911 :
デフォルトの名無しさん :03/07/09 06:51
♪♪女の構造体♪♪・・・に必要なメンバをおしえてださい。
912 :
デフォルトの名無しさん :03/07/09 08:04
UI には、コントロールということで cName フォームには、fMain SQL のテーブルでは、tStatus クラスには、clsErrorHandler というようにしていますが、だめ? C#なんだけど。
913 :
デフォルトの名無しさん :03/07/09 08:15
>>912 全然ダメ。
prefixで型を分けるのは、スコープがしっかり狭められていないからだ。
ってゆーか問題外だろ
>>912 C#でんなアホなことやる前に、よーくドキュメントを読め。
命名規約について書いてあるから。
Javaで。 プロキシみたいなやつ作る場合で、 ソケットで、あるポートをListenし続けるクラスの名。現状 Server。 誰かがアクセスしてきたら上記クラスに稼動開始させられるクラスの名。現状 Worker。 上記クラスが即座に2つ作成しInputStreamとOutputStreamを渡して稼動開始させるクラスの名。現状 WorkerThread。 クラス設計が間違ってるのか・・・。
タイピングソフトを作るとしよう。 課題文字列と入力キー列を保持し、ユーザからの入力を処理するオートマトンが必要となるが、 これにはなんと名づけたらいいだろうか StringProcessorもInputProcessorも微妙に違う気がする。 あるいは Automaton を前面に出したもっといい名前があるだろうか
print_imageにしました。 で、もう一つ。 アクセスカウンターを作ってるんだけども、 ログ(普通の正数)から表示用(000001みたいな感じ)に整えるルーチンは何て名前にしたらいいですかな?
あ、ちなみにそのルーチンには、 open関数を使ってログファイルからデータを取得する処理も入ってます。
sagaになってる…。 鬱…。スマソ…。
だぶん既出だと思うんだけど…。 多量の使い捨て変数にはどんな名前付けますか?
>>922 まず変数を使い捨てにしないことを考える
swapとかで一時的に値を置く場合 Temp とか使うけど > 多量の使い捨て変数 多量の使い捨てが必要な状況が思いつかない。
>>922 普通に配列型のtmp, temp でいいのでは
{     int tmp;     //... }{     char tmp;     //... }{     double tmp;     //... }
どのような用途で使い捨てかで名前を決める
$_
930 :
デフォルトの名無しさん :03/07/11 17:56
雑草という名前の草はない(牧野富太郎) 使い捨てという名前の変数はない(私)
よーし、パパ新種の野草を発見して「雑草」と名づけちゃうぞお。
933 :
デフォルトの名無しさん :03/07/12 00:05
みんなならどんな名前を付けるか、聞いてみたい。 ワークフローを流れる申請書に対して、 いろんなユーザーが手順(検査したり承認したり否認したり担当者割り当てしたり)を実行する。 このとき、ワークフローの各手順を実施した人物を処理履歴として残したい。 つまり、申請書1枚に対して複数個の処理履歴レコードが作られ、 処理履歴レコード1件にはその処理種別と処理者が記録される。 この「処理履歴内の処理実行者」を英語でなんと呼ぶのが適切だろうか。 自分は performer としてみたんだが。
worker
who
execute vt. 実行する, 遂行する; 実施する (enforce); (注文に)応じる; (美術品を)制作する; 演奏する (perf executor n. 【法】 指定遺言執行者; 執行人. execution n. 実行, 遂行, 履行 (achievement); 死刑執行, 処刑; (証書の)作製, 記名調印; (美術品の)製作; 演 (デイリーコンサイス英和辞典 三省堂)
operator
ヨヤクゴキター
予約語? なんですかそれ?
デ・ン・ワ・ワ ヨイフロー
/// /Vヽ ミキプルーン ll l lノノノ)) 〉 ヽl l´∀`ノ|| /ヽ!トv^ リ ヽ lY) 〉! ヽlY)i l |
あるコードを別の言語に書き直した際、識別子が予約語と重なって鬱になった人 いる?こういう場合どう対処すべきなんだろ…。
944 :
デフォルトの名無しさん :03/07/12 23:14
心療内科、あるいは精神科へ。
/// /Vヽ ll l lノノノ)) 〉 ヽl l´∀`ノ|| プルプルプルプルプルー♪ /ヽ!トv^ リ ヽ lY) 〉! ヽlY)i l |
continue, next break, last とかだったりして。
end, beginとか
_ ...._ _ ,.'´ ィ 、 ヽ '´ M ヽ. "⌒⌒ゝ ,.jTM ヽ │ノノリ )) 〉..! ノ从 リ))〉 (((〈^^〉))) i| | 川ハ i ,{{i(!l´∀`ノ!i |lゝ´∀`ノ| ((´∀` )\ ノ!j∀` !l)}} | | lj|ヽ、ノ! リ ノ/ヽ!トv^ ノ /ヽ V / ヽ| !i ハテイ>ヽ!i |i!/ ! ノ 〉イ⌒⌒⌒⌒⌒⌒⌒⌒⌒ヽ イリ | |、、7 〉 |!\) (⌒ ^ ⌒⌒⌒ )⌒) |. | イ ソハ ( (⌒ ⌒⌒⌒ ) ( ( ⌒⌒⌒ (⌒ ) ( ( ⌒⌒⌒ ⌒⌒ _)イ ヽ ( ー ノー'ー'ヽノ ) コノーキナンノキキニプルーン ヽ ノ'ー' (. ( l´∀`ノ||)'ー'ー'イ /ヽ!トv^ リ ヽ lY) 〉! ヽlY)i l
//ブレーキクラスを作る Break break = new Break();
//後藤クラスを作る Goto goto = new Goto();
関係ないが、昔住んでたマンションの近所に後藤クリニックてのがあって、 GOTO CLINIC って看板に毎日ワロテタ。
>>944 Javaだとimport,package,C++だとoperator,friendとか。
仮に上記の奴を避けたとしても、言語の拡張によって予約語が追加された時に問題
が起こるかも知れないし…。
>>953 > 言語の拡張によって予約語が追加された時に問題
> が起こるかも知れないし…。
そういうことに気を使いだすときりが無いので、私は気にしない。
Javaの例:
InputStream is = new InputStream(...);
is が予約語として追加されたらアウト。
Delphi(Pascal)みたいに、記号よりも予約語を使う傾向がある言語使ってるけど、 大して苦労は無いがな。 といいながら、使いそうな単語がおおいんだなこれが as, is, begin, end, do, in, of, to, set, out とか
予約語なるものがある言語なぞ使わん
957 :
デフォルトの名無しさん :03/07/14 00:49
CASLドゾー
958 :
デフォルトの名無しさん :03/07/14 00:50
959 :
デフォルトの名無しさん :03/07/14 01:04
, ' ' , , ' ' ' , , , , , , ' , , , , , ,__||__ , , ' ' ' ' , ' ´ ` 、 , ' , , , , ,' く,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ゝ , ' ' , ,,'|| ヽ , ' ' l ,||ノノノ))) , , , ヽ||´∀`ノ| /||Y)V(Y) |.||Y)/」(Y) (ElY)|:|(Y)
日本語言語使え!
なんだっけ、Mindとかひまわりとか?
ぴゅう太
と、止まらないぃ!
>>954 >そういうことに気を使いだすときりが無い
同意。根本的な解決は無理だろうから、むしろ問題が起きた時にどう修正するかと
言う事になる。で、他の人がどうしてるか聞いて見たんだが…。まあ、そんな起こ
る事でも無し、対象の識別子を別の物に置換でいいけどね。
969 :
デフォルトの名無しさん :03/07/14 21:38
そろそろ次スレ立てようよ。
>>970 頼んだよ。
CreateThread
971 :
デフォルトの名無しさん :03/07/14 21:54
>>971 オマエ、俺を舐めとんかコラ
まぁええわ。ほれ。
↓
少々、お待ちを。過去ログや専門用語事典サイトなど、 このスレであがっていたリンク先まとめてみます。
974 :
デフォルトの名無しさん :03/07/14 22:07
ええ人降臨。ガンガレ 埋め
版画利案周りは荒れるからはずしといたら? 微妙にスレ違いだし。
じゃ、>1にリンクを貼る予定の、
失礼、途中で送信ボタンを押しちゃいました。
>1にリンクを貼る予定の
「
>>4 いろいろな言語規約。ハンガリアンやラクダ式など。 」
の部分は、まとめて>1から削ってみましょうか。
スレを消費するまでには一度は話題になるから、 どっちでもいいと思われ。
ハンガリアン使いがネーミングに悩むわけねーじゃん。 プリフィックスだけつけて後はデタラメなんだから。ガサツな人間向けだな。
ハンガリアンとmd5で変数名を作ろう char *sz_c59548c3c576228486a1f0037eb16a1b
何のmd5?
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
|__ |ィ 、 ヽ |リ )) 〉 |∀`ノ!i コソーリ・・・ |、ノ! リ |ノ 〉! | l |
うめとく
埋め草 = padding
うめうめ
Plum plum
俺がとっととうめちゃる!
うめうめ
うめるんじゃー
996じゃー
いけいけー 2重カキコじゃ
埋め立てなんです。 埋め立てさせて下さい。 1000ゲットしませんから。
999 :
デフォルトの名無しさん :03/07/17 07:02
おら、お前ら1000くれてやる!
1000 :
デフォルトの名無しさん :03/07/17 07:02
記念カキコ>(^o^=)
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。