トップページ⇒tech
1001コメント330KB

クラス名・変数名に迷ったら書き込むスレ。Part24

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2014/01/21(火) 00:05:45.80
クラス名、変数名のつけ方に悩んだら書き込むスレです。

命名規則や設計の善し悪しについて議論するのは基本的に禁止。

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part23
http://toro.2ch.net/test/read.cgi/tech/1364875204/
0002デフォルトの名無しさん2014/01/21(火) 00:51:08.78
うんこ中かそうでないかを判断するための変数の名前どうしましょう?
0003デフォルトの名無しさん2014/01/21(火) 01:01:25.96
isUnching
0004デフォルトの名無しさん2014/01/21(火) 01:08:07.54
>>3
if(isUnching = 1){
printf("ぶりぶりぶりぶり");
}
やっとかけました!
0005デフォルトの名無しさん2014/01/21(火) 11:33:49.32
>>4
それわざとやってる?
0006デフォルトの名無しさん2014/01/21(火) 13:00:03.27
ここまで自演
0007デフォルトの名無しさん2014/01/22(水) 04:42:51.63
kakko
kokka
0008デフォルトの名無しさん2014/01/23(木) 22:03:32.97
>>5
これどう見てもわざとだろwww
いちいい反応するとか()
0009デフォルトの名無しさん2014/01/25(土) 03:18:44.84
>>8
顔真っ赤なの?
0010デフォルトの名無しさん2014/01/25(土) 14:06:33.48
日本人の精神年齢は12歳と言ったアメリカ人がいたが、うんこちんこで喜べるのは
普通はせいぜい10歳まで。

webでは、(特に2chみたいな掃き溜めでは)世の中にめったにいない少数派でも
自分と同類の趣味嗜好の同士を見つけられるが、それをもって自分が普通だと勘違いすると
どこかで痛い目見るよマジで。
0011デフォルトの名無しさん2014/01/25(土) 19:05:03.50
つまり、特亜人の精神年齢は高くても10歳程度と
0012デフォルトの名無しさん2014/01/27(月) 16:17:41.83
やっと次スレできたのかと思ったら文字通り糞スレだった
0013デフォルトの名無しさん2014/02/01(土) 19:39:38.45
「**を表すステートメント」というもの表す識別子をいくつも作る必要があります。

「**」の部分が最も大事なのでここを名前に活かし、
かつステートメントであることもパッと見て分かるようにしたいです。

なので、ステートメントの略称を**に接頭するか接尾したのですが、
略称はあるでしょうか?

stm ですか?
0014デフォルトの名無しさん2014/02/01(土) 19:57:09.53
statusなどと被りやすいので下手に略さずにstatementでいいと思う
0015デフォルトの名無しさん2014/02/01(土) 20:03:52.83
>>14
stm が status などと被りやすい、とは?
0016デフォルトの名無しさん2014/02/01(土) 20:37:02.95
>>13
それ以前に、もちろん一般論ではあるが、その「**を表すステートメント」であることを
本当に名前で表現する必要があるのかを再考すべきだと思うけどね。

型で表現すれば十分じゃないの?
0017デフォルトの名無しさん2014/02/01(土) 21:25:57.91
>>16
再考した結果、このような識別子が必要だという結論に達しました。
0018デフォルトの名無しさん2014/02/01(土) 21:40:21.25
関数名なんですけども、ゲートクラスとそれを通過する訪問者クラスがあるとします。
ゲートを訪問者が通過する時に呼ぶ関数名はどうすれば良いでしょうか?
訪問者側ならば、Visitor::Pass(Gate gate)でいいのですが、
ゲート側でPassとすると主語、目的語の順序がおかしくなるので別の名前にすべきだと考えてるのですが。。。
0019デフォルトの名無しさん2014/02/01(土) 21:45:01.43
>>18
passed
0020デフォルトの名無しさん2014/02/01(土) 21:46:36.24
Passにも他動詞の意味があるからおかしいと思わんけどEnterの方がしっくり来る気もする
0021デフォルトの名無しさん2014/02/01(土) 22:33:24.89
>>18
TriggerPassedはどう?
0022デフォルトの名無しさん2014/02/01(土) 22:51:53.21
gate.accept(visitor) とか
0023デフォルトの名無しさん2014/02/01(土) 22:54:03.78
追記: acceptは、Visitorパターンの紹介コードでよく使われている気がする。
0024デフォルトの名無しさん2014/02/01(土) 22:59:56.58
Gate::Pass(Visitor visitor)
0025デフォルトの名無しさん2014/02/01(土) 23:42:54.95
>>19
それだと通過後に呼ばれる関数な感じがしませんかね?
受動態って意味で過去分詞を使うのって一般的なんでしょうか?

>>20
他動詞でも主語は人じゃないですか?

>>21,22さんのどっちかを使おうと思います。
ありがとうございました。


しかし受動態で関数名書きたいとき毎回命名で悩む気がします。
英語ネイティブの人たちは悩まないんだろうか…
0026デフォルトの名無しさん2014/02/01(土) 23:51:43.60
>>17
>>17が使っている言語にもよるけど、
(>>16の提案した型ではなく、)名前空間で表現できないかな?

たとえばRubyだとモジュールが名前空間を提供するから、
たとえばゲーム記述言語であれば以下のようになる

module Statement
  class Foward; .... end # 前進ステートメント
  class Attack; .... end # 攻撃ステートメント
  class Morph; .... end # 変身ステートメント
end

参照する場合には Statement::Foward と書くけど、
面倒であれば STM = Statement と省略名(シノニム)を宣言すると
STM::Foward で参照できるようになる
あるいは Statement 参照を多用する文脈であれば、
include Statement と宣言すると、直接 Foward だけで参照できるようになる

Rubyに限らず、今時の言語の多くはこういった名前空間を扱えると思うよ
0027デフォルトの名無しさん2014/02/01(土) 23:55:04.72
どうせ大したもの作ってないからどうでもいいんじゃない。
0028デフォルトの名無しさん2014/02/02(日) 00:03:24.15
>>13
DBとかだとStatementの略はstmtが一般的な気がする。

あとLLVMでもstmtヘッダがあったりするらしい。
ttp://clang.llvm.org/doxygen/Stmt_8h_source.html
0029デフォルトの名無しさん2014/02/02(日) 00:23:00.48
>>26
使用言語は Haskell で、確かにモジュールに分ければ名前空間と同じ役割はできます。

> 面倒であれば STM = Statement と省略名(シノニム)を宣言すると
> STM::Foward で参照できるようになる

それは結局のところ、「ステートメントの略称を**に接頭する」のと同じですよね。
その省略名(シノニム)として何がいいか、ということです。

> あるいは Statement 参照を多用する文脈であれば、
> include Statement と宣言すると、直接 Foward だけで参照できるようになる

その識別子を使用している部分でステートメントかどうかをパッと見て分かるようにしたい
というのが目的ですので、直接 Foward だけで参照すると意味がなくなります。


>>28
> DBとかだとStatementの略はstmtが一般的な気がする。

採用させていただきます。


アイデアや意見をくださった皆様、ありがとうございました。
0030デフォルトの名無しさん2014/02/02(日) 00:38:35.04
>>25
Gateがpassやenterを主語にとっても全然おかしくないって。
日本語で言うと通過させるとか通すとか入れるとかそんな意味合い。
0031デフォルトの名無しさん2014/02/02(日) 00:57:53.17
>>29
>それは結局のところ、「ステートメントの略称を**に接頭する」のと同じですよね。

いや、接頭語(prefix)であれば名前は stmt_xxxx になるし、
修飾子(modifier)であれば Stmt.xxxx になるから、
それらの違いを意識したコーディングが望ましいと考える
(些細な事柄ではあるけど、このスレだからあえて言う)

またHaskellerならば、シノニムの持つ意味(=暗喩)の重要性は
十分に理解しているはずだと思う
個人的には、モジュールやデータ型に関してはシノニムを活用すべきだけど、
関数名や変数名については、たとえ接頭語であっても省略すべきではないと考える
もしもスコープで接頭語が明解に識別できるのならば、
(省略名 stmt_xxxx ではなく)単純に xxxx と命名すればいい
それができないのならば、コード設計のどこかを誤っている
(これも些細な事柄ではあるけど、....<以下略>)

>直接 Foward だけで参照すると意味がなくなります。

>>26で「Statement 参照を多用する文脈であれば」と前提条件を書いたように、
一般には、(Ruby では include に相当する)名前空間の無条件な取り込みは
できるだけ避けるべきだね
0032デフォルトの名無しさん2014/02/04(火) 19:16:57.48
Windowsプログラミングで、フォルダ名を文字列型などの変数で定義する場合、
PathName
FolderName
DirName
など、Path、Folder、Dirのどれを使うかでよく迷います。
どれが主流でしょうか?
0033デフォルトの名無しさん2014/02/04(火) 20:01:51.26
>>32
俺は DirName というと、例えば "C:\Users\tomato\dressing" というパスに対して
"C:\Users" の部分を意味すると捉えてしまうが・・・

フォルダそのものの名前ということなら、FolderName が普通だと思う。


それはそうと、余計なお世話なのは承知しているが、
主流かどうかで名前を決めるのは本末転倒だと思うぞ。
0034332014/02/04(火) 20:02:31.24
>>32
失礼、間違えた

俺は DirName というと、例えば "C:\Users\tomato\dressing" というパスに対して
"C:\Users\tomato" の部分を意味すると捉えてしまうが・・・
0035デフォルトの名無しさん2014/02/04(火) 21:20:43.30
>>34
なるほど。確かにそうですね。では、DirNameは使わないようにして、
PathNameかFolderNameにします。
0036デフォルトの名無しさん2014/02/04(火) 21:26:55.50
>>32
今時のファイルシステムの大半は階層構造になっていて、
そのオブジェクト(=構成要素)にはディレクトリとファイルがある
で、アプリケーションがファイルシステム内のオブジェクトを見つけたい時には、
根(ルート)から下方へとファイルシステムのツリーを辿ることになる
その根から目的とするオブジェクトへの道筋をパス(=経路)と呼ぶ

つまり、オブジェクトの実体そのものに付随する名前(=ラベル、タイトル)であれば
それらはディレクトリ名(DirName)またはファイル名(FileName)になるし、
それらオブジェクトを一意に識別できる情報に関する名前であれば
その名前はパス名(PathName)になる

また、ディレクトリとフォルダという名前はどちらも同じ実体を指す同義語だ
ただし、ファイルシステムに近い文脈であればディレクトリ名(DirName)、
よりユーザに近い文脈であればフォルダ名(FolderName)と使い分ける
今時のMVCアーキテクチャであれば、モデル(Model)ではディレクトリと呼び、
ビュー(View)ではフォルダと呼び、両者の仲介役であるコントローラ(Controller)では
両方の名前を文脈に応じて使い分ける、つまり混在することになるだろう

あとは、>>32が命名に迷っている対象がどれに該当するのか、自分で判断しなさい

最後に、
>主流かどうかで名前を決めるのは本末転倒だと思うぞ。
には同感
0037デフォルトの名無しさん2014/02/05(水) 00:34:16.09
>>35
>>34の言ってることに納得するのはどうかと面うけど...
正直俺には>>34が何言ってるのか全然わからない。

個人的にはむしろDirectory(Name)こそ正解だと思う。

フォルダというのはファイルシステム上の概念というより、Windowsで言ったら
コントロールパネルのような仮想的な入れ物とファイルシステムのディレクトリを
透過的に扱うためのシェル上の概念だからFolderNameはちょっと不適切に思う。

PathNameは論外。
パスって、文字通り根っこから枝葉(ファイルやディレクトリ)までの「道筋」のことでしょ普通は。
枝葉のことを道筋と呼ぶのは変だ。
0038デフォルトの名無しさん2014/02/05(水) 00:51:19.40
使用する言語のライブラリに合わせるというのがいいと思うが。
C#だと、FileInfoクラスのDirectoryNameとかあるな。
0039デフォルトの名無しさん2014/02/05(水) 08:01:03.11
>>33
> 主流かどうかで名前を決めるのは本末転倒だと思うぞ。

フォルダとディレクトリみたいなほぼ意味的に変わらないようなものなら主流かどうかで決めるのもありだ思うが
0040デフォルトの名無しさん2014/02/05(水) 08:47:51.17
DirName一択だろ
迷う意味がわからない
0041デフォルトの名無しさん2014/02/05(水) 09:41:48.52
dir_fullpathとか
0042デフォルトの名無しさん2014/02/05(水) 12:44:39.99
DirNameって同名の関数が >>34 のような挙動になっていることが多い
0043デフォルトの名無しさん2014/02/05(水) 12:46:35.80
そのプロジェクトで他の用語と被りそうだからとかで選ばないこともあるな。だから一択とかはないけど。
フォルダはGUIのイメージ、
ディレクトリはノード単体を扱うときにも使うイメージ、
というわけでパスに一票。
0044デフォルトの名無しさん2014/02/05(水) 18:55:12.13
>>32
俺ならば
例えば "C:\Users\tomato\dressing" というパスに対しては AbsolutePathName
"C:\Users\tomato" の部分を意味するものとしては ParentPath
"dressing" の部分を意味するものとしては、どこかの ParentPath からみた
相対位置という意味で OffsetPathName
0045デフォルトの名無しさん2014/02/07(金) 19:30:14.29
gcc用のファイルとllvm用のファイルとVC用のがあるとして、それを置くディレクトリの名前はどれがいいと思う?

gcc/llvm/vc
gcc-support/llvm-support/vc-support
for-gcc/for-llvm/for-vc
on-gcc/on-llvm/on-vc
rts-gcc/rts-llvm/rts-vc
0046デフォルトの名無しさん2014/02/07(金) 19:30:51.49
>>44
他はいいとしてOffsetはない。Relativeだろ
0047デフォルトの名無しさん2014/02/07(金) 19:57:10.98
>>47
スマンm(_ _)m
マジで間違えてた RelativePathName が正解だな
0048デフォルトの名無しさん2014/02/07(金) 19:59:38.51
>>45
一番上のでいいだろ

ディレクトリ名がgccであれば、その中はgccに関する何かが入っているに決まってる

for とか on とか、アホかと思うぞ
0049デフォルトの名無しさん2014/02/07(金) 20:20:28.84
>>48
gとlとvの間に他のファイルが大量に挟まるのやだなあ
前置詞が付いてたらエクスプローラー上で並ぶなあ、と
0050デフォルトの名無しさん2014/02/07(金) 21:42:15.45
>>49
そういう大切な「名付ける意図や求める効果」をなぜ最初に言わない?
俺の >>48 のレスが完全に的外れじゃないか。


で、本題だが

それでも俺は個人的には for_ や on_ なんて接頭辞は付けたくないな。
ディレクトリというものの役割から考えて、
あらゆるディレクトリが for_ や on_ なのは当たり前だから。

今回の場合、俺なら gcc、llvm、vc というディレクトリ共通の親ディレクトリを作る
つまり ???/gcc、???/llvm、???/vc

その親ディレクトリをどう名付けるかは、gcc や llvm などの中身による。
コンパイル結果のみ入れるのなら build、配布する最終結果のみ入れるなら dist、
ソースファイルのみ入れるのなら src・・・など。
0051デフォルトの名無しさん2014/02/07(金) 22:29:30.57
>>50
ごめんごめん、そこまで重視することか自分でも疑問だったので、真っ白な意見を聞きたかった。

あと当然だけど、「gとlとvの間にあるその他のファイル」も同種(srcやbuildに該当する)ので
親ディレクトリを作るならcompiler-dependedとかそういう意味の単語かなあ

ありがとう
0052デフォルトの名無しさん2014/02/08(土) 11:37:13.42
>>47
> >>47

Offset: 0 ?
0053デフォルトの名無しさん2014/02/09(日) 10:37:37.08
Guidをランダムに生成してアプリ内で重複しなければそのまま返す
重複してるならリトライを繰り返して重複しなくなったらそれを返す
最大試行回数を超えたら例外を投げる

この例外の名前はなにがいいと思いますか?
ちなみに.NETで開発しているので標準にドンピシャな例外があればそれがベストなのですが…
0054デフォルトの名無しさん2014/02/09(日) 11:02:28.40
DamePoNoLongerException
0055デフォルトの名無しさん2014/02/09(日) 13:12:49.31
そもそも例外クラスの名前というのは、"***Exception" に統一すべきなんだろうか。

"***" には「〜ができなかった、〜に失敗した」の「〜」を表す名前がいいのか、
「できなかった」「失敗した」という意味も表した方がいいのか。
例外が発生した「理由」を名前に込めるべきなのか。

なかなか迷うな。

>>53 の場合、俺なら GiveupFindingUniqueGuid あるいは CanNotFindUniqueGuid にしたいな
Exception を付けて長くなるのはあまり好きではない。
(まぁ一般的には Exception を付けるのが当たり前なんだろうなとは思うが)
0056デフォルトの名無しさん2014/02/09(日) 13:37:14.53
>>53
全体的に何言ってるのかよく分からん。
ランダムに生成とか言ってる時点で既にそれGUIDとは違う何か別の物じゃん。
アプリ内でバッティングしない値を生成するってそんなに難しいか?
リトライが上限に達したら例外って、そもそもリトライが必要な処理と思えん。

努力する方向が根本的に間違ってないか?
0057デフォルトの名無しさん2014/02/09(日) 13:53:43.25
>>53
FailureGenGUIDException
分かってるとは思うけど Gen は Generate の略な

>>55
UniqueGuidの Guid って確か Global Unique ID の略じゃなかったか?
もし俺が正しいのなら重複している部分を削って
> GiveupFindingGuid あるいは CanNotFindGuid
が妥当でないかい?

>>56
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
0058デフォルトの名無しさん2014/02/09(日) 14:05:48.17
>>57
そんなものに俺は同意してないから
0059デフォルトの名無しさん2014/02/09(日) 14:15:04.09
>>58
同意しろやボケ
0060デフォルトの名無しさん2014/02/09(日) 14:25:13.98
>>58
嵐宣言乙
0061デフォルトの名無しさん2014/02/09(日) 15:00:11.76
>>57
> UniqueGuidの Guid って確か Global Unique ID の略じゃなかったか?

確かに・・・
0062デフォルトの名無しさん2014/02/09(日) 17:28:55.65
GUIDがいわゆるUUIDのMS実装のことなら、
バージョン(という名前だが生成方法)4に限れば、
乱数による生成なので、低確率で重複しうる。
バースデーパラドックスを考慮しても相当に低い確率だけど。
0063デフォルトの名無しさん2014/02/10(月) 00:02:08.28
>>55
自分は名前空間を利用している
具体的には(Rubyで...)、トップレベルのモジュール名が M だとすれば、
その下にサブモジュール M::Exception を定義し、
このモジュールの内部で例外クラス群を定義する
例外クラスの命名は、ケースバイケースで適切だと思える具体的な名前にする

[例外クラスの例]
・M::Exception::SubclassResponsibility -- 具象クラスでメソッド未実装
・M::Exception::EmptyIdentifier -- 空の識別子
・M::Exception::CantRecognizeAsToken -- トークンとして認識できない
・M::Exception::SyntaxError -- 構文エラー

実際の参照では、EX = M::Exception とシノニム(同義語)を定義しておいて、
たとえば raise EX::SyntaxError みたいに書く
0064デフォルトの名無しさん2014/02/10(月) 00:20:39.56
>>63
汎用的じゃない例外なんかは、普通はその例外を発生させるクラスと同じかまたは上位の
名前空間で定義したいと思うはずで、そういうのは名前空間の使い方としてどうかと思うけど。

っていうか例外クラスなんかコード中に頻出するわけじゃないんだから
名前短くしようとかケチ臭いこと考えずにベタに名前を付ければいいでしょ。
0065デフォルトの名無しさん2014/02/10(月) 00:46:02.60
>>63
>汎用的じゃない例外なんかは、普通はその例外を発生させるクラスと同じかまたは上位の

小さなプログラムであれば、例外に関して1個の名前空間(たとえば M)ですむ
プログラムが大きくなれば、複数のサブシステムに分割して構造設計するはずだから、
各サブシステムごとに例外に関する名前空間を持てばいいだけの話
たとえば、M::Exception、N::Exception、O::Exception みたいに....
シノニムも M::EX、N::EX、O::EX と別個に定義することになる


>っていうか例外クラスなんかコード中に頻出するわけじゃないんだから

いや、実用的なプログラムを書こうとすれば、エラー検査と例外発生だらけになるよ
しかも例外の種類(例外クラス)も数多く必要になるから、クラス継承設計も大切になってくる


このあたりの感覚は、ある程度の規模(10Kstep以上)、
かつ実用的なソフトウェアの開発経験が無いと分からないかもね....
0066デフォルトの名無しさん2014/02/10(月) 01:21:47.03
>>65
だからそういうのは名前空間の本来の使い方じゃないってば...
一般的なプログラマが名前空間に期待するものは型を意味的に分類する入れ物なんだから。

"Exception"なんてただのベースクラスの名前じゃないの。
そもそもこんな方針じゃ、プロジェクトの名前空間が階層を構成していて
各階層ごとに例外クラスを定義したいというごくありきたりのシナリオにも対応できない。


>実用的なプログラムを書こうとすれば、エラー検査と例外発生だらけになるよ
だらけかどうかは感覚の問題だと思うが、例外だらけだったらすでにそれは例外じゃなくて「普通」になってしまう。

IOのよほど低水準のライブラリでも書いてるのなら話は別だけど、
俺の個人的感覚ではそんな例外ばっかり構ってるコードこそむしろどこか設計がおかしいんじゃないのかと。
まあ繰り返しになるけど「だらけ」かどうかは感覚の問題ではあるけどね。
0067デフォルトの名無しさん2014/02/10(月) 05:19:06.89
シナリオから外れることが例外で頻度のことを言っているわけではない。
たまにしかないから例外とかヤバイ設計だな。
0068デフォルトの名無しさん2014/02/10(月) 19:32:39.83
Exceptionなんてドンブリ勘定な名前空間に全部突っ込むほうがよほどヤバイって。
何を言ってるんだろうね。

ついでに言わせてもらえば、「自称プロ」ほどコードの大半は例外処理だとか嘯く。
そんな馬鹿な。本当に実用的なコード書いてるんだろうかこの人。
0069デフォルトの名無しさん2014/02/10(月) 20:18:00.51
分野によるが、ビジネス系なので大半が例外処理だ。

入門サイトなどによく書いてあるよな。
このコードでは例外処理を省略してますって。
それをコピペしてるんだろうな。こいつは。
0070デフォルトの名無しさん2014/02/10(月) 20:22:24.74
最後に余計な一言をいう人が多すぎる
0071デフォルトの名無しさん2014/02/10(月) 21:10:20.30
>>66
>一般的なプログラマが名前空間に期待するものは型を意味的に分類する入れ物なんだから。

そもそもの出発点からして異なっていたみたいだね
自分は「名前空間とは型を(意味的にではなく)構造的に分類する入れ物」なんだと考える
実際、Rubyでは名前空間をモジュール(module)と呼ぶし、
MLという関数型言語にいたってはストラクチャ(structure)と。まさに構造と呼んでいる
逆に、型を意味的に分類するのは部分型、つまりオブジェクト指向におけるクラス継承になる

集合論的に言えば、型とは集合であり、型の分類とは部分集合に分けることになる
ここで、もし分けた部分集合間に交わりがあれば(クラスの)複数継承になり、
交わりが無い直和分割であれば単一継承になる


>"Exception"なんてただのベースクラスの名前じゃないの。

ここも解釈が異なっているなあ
自分は、「"Exception" とは例外という概念を表す象徴的な記号(=アイコン)」だと考える
だからクラス名になるし、名前空間(=モジュール)や変数の命名にも使われる

>各階層ごとに例外クラスを定義したいというごくありきたりのシナリオにも対応できない。

階層化した名前空間ごとに例外に関する名前空間を設ければいいだけの話だよ
たとえば名前空間 M を階層化して M::M1、M::M2 と設計したのであれば、
M::M1::Exception、M::M2::Exception になる
こんな単純な話なのに、ナゼに「対応できない」と断言できてしまうのか不思議だ....
0072デフォルトの名無しさん2014/02/10(月) 21:41:14.24
だから、最後の一言が余計なんだってば。

君にとっては単純な話かもしれんが、別の人にとっては初めての考え方・概念かもしれん。
その人が君の披露した考え方を知らず、そのため君にとっては頓珍漢な事を言って、
しかも最後に君を馬鹿にしたような事を言ったとしても、
君まで同じように相手を小馬鹿にする必要はないだろ?

余計な一言があるせいで、変な方向にヒートアップしてしまうんだよ。
もういい加減、余計な一言の応酬は止めないか?

この議論まで止めろとは言わんから
0073デフォルトの名無しさん2014/02/10(月) 21:46:05.07
君みたいな人が増えるといいね
0074デフォルトの名無しさん2014/02/10(月) 21:52:23.42
>>71
自分で書いてて苦しいと思わないの?

構造的に分類ってどういう意味だよ。
じゃああなたの言うExceptionってのは「構造」をあらわしてるの?
その構造って何よ。

> 階層化した名前空間ごとに例外に関する名前空間を設ければいいだけの話だよ
> たとえば名前空間 M を階層化して M::M1、M::M2 と設計したのであれば、
> M::M1::Exception、M::M2::Exception になる
だから何のため?
今日日何事もただでさえ複雑なのに、何のためにそんな余計な混乱材料を持ち込むの?

たった数文字名前をケチるため?
どんな本末転倒よそれ。

言っちゃ悪いけど、プログラマ1年生にありがちな倒錯だよそれ。
0075デフォルトの名無しさん2014/02/10(月) 22:40:03.72
>>74
>構造的に分類ってどういう意味だよ。

それは「名前空間に期待するものは型を意味的に分類する入れ物」と語った>>66が
「構造的に分類ってどういう意味だよ。」という質問にレスしてから、説明しよう
先にヒントを与えると、オブジェクト指向分析/設計の基礎概念の一つだ


>今日日何事もただでさえ複雑なのに、何のためにそんな余計な混乱材料を持ち込むの?

小さなプログラムであれば、無理に名前空間を階層化する必要は無いと思うよ
「各階層ごとに例外クラスを定義したいというごくありきたりのシナリオ」という
>>66の想定に合わせて、階層化が必要なほど大きなプログラムであれば、
こんな風に名前空間を活用すればいいんだよ、ってことを説明しているだけ


>たった数文字名前をケチるため?

はて?どこをどう読めばそんな推測に至るのか、意味不明だ....
>>63で例外クラスの命名について「適切だと思える具体的な名前にする」と
説明したのと同様に、名前空間の命名にも「(機能の)構造的な分類」に従って
適切かつ具体的な名前を選ぶべきであると考える
0076デフォルトの名無しさん2014/02/10(月) 22:48:56.53
自己レスで>>75を訂正、肝心なとことをミスしてた....

X: 「構造的に分類ってどういう意味だよ。」という質問にレスしてから、
O: 「意味的に分類ってどういう意味だよ。」という質問にレスしてから、
0077デフォルトの名無しさん2014/02/10(月) 22:50:29.85
>>75
結局「構造」って何のことだか分からないね。
例外だけ"Exception"なんて妙な入れ物でネストする動機もまったく説明されてない。
何が言いたいの?

っていうか、名前をケチることが動機じゃないなら>>65では>>63に何が言いたかったの?
とにかく例外だけExceptionで包んで別名付けろ?
だから何故?

以下、まあたぶん理解してもらえないと思うが一応本来どうあるべきかの追加説明。

意味っていう俺の言葉遣いが気に入らないなら問題領域と言い換えてもいい。
名前空間は問題領域をコードに写像したもの。

例えばある計測器からデータを取得してグラフ表示したりログを取ったりするアプリを
作ってるとする。

この時、モデル化した計測器に関係する型を入れる名前空間は
MyCompany.SomeVendor.DeviceXs

その計測器との通信データを処理するサブシステムに関する型を入れる名前空間は
MyCompany.SomeVendor.DeviceXs.Communication

常識的なプログラマなら名前空間はこういう感じで使う。
そして、その問題領域で発生させる例外の定義は、当然同じ名前空間で行いたいと普通は思う。

こういう別け方(入れ物)を「構造」呼ぼうが何と呼ぼうが、それは自由だけど、
通常の名前空間とは別に例外だけを入れる名前空間が必要であり、
かつそれが例外クラスの名前を短くするのが動機だなんて、
こんな方針を支持するプログラマなんてまず普通じゃないよ。
0078デフォルトの名無しさん2014/02/10(月) 22:52:24.04
失礼、

× っていうか、名前をケチることが動機じゃないなら>>65では>>63に何が言いたかったの?
○ っていうか、名前をケチることが動機じゃないなら>>63では>>55に何が言いたかったの?
0079デフォルトの名無しさん2014/02/10(月) 22:54:38.25
Exceptionなんて名前空間を用意するくらいなら
例外を発生させるクラス::○○Exceptionを作るかなあ俺なら
逆に、1クラスで発生する例外の種類が、わざわざ括りを入れないといけないような量なら
それは多くの場合、クラスが巨大過ぎる気がする
もちろん、Rubyで言うところのErrno::E〜みたいな(例外処理ではなく一般的な意味での)例外もあるけどさ
0080デフォルトの名無しさん2014/02/11(火) 00:20:05.04
>>77
名前空間の使い方に関しては、「機能」に着目して階層的に分割するという意味で同じだね
この「機能」という言葉を「意味」と呼ぼうが「問題領域」と言い換えてもかまわないという事にも同意する

で、
>通常の名前空間とは別に例外だけを入れる名前空間が必要であり、
>かつそれが例外クラスの名前を短くするのが動機だなんて、

どこにも必要とか ..... すべき(MUST or SHOULD)とは言っていないよ
数多くの例外クラスが必要なプログラムで、
それらを一意に識別できる適切な名前の命名に悩んでいるのならば(>>55)、
例外クラスだけで独立した名前空間で分けるという設計方法もある(MAY)と提案しているだけ(>>63)

計測器からのデータ収集という大きな「問題領域」があり、それがベンダやデバイスという
部分的な「問題領域」から構成されている時、それらに名前空間を与える設計手法を>>77は選んでいる
同様に、例外も(例外扱いせずに)部分的な「問題領域」の一種であると考えて
名前空間を与えてもいいんじゃないのかな?という発想だ
0081デフォルトの名無しさん2014/02/11(火) 00:52:23.62
理屈ばかりでは分からないと思うので、>>63の考え方を具体的なコードで示す
  http://www.h6.dion.ne.jp/~machan/misc/exception.html

これは、作りかけの小さな言語処理系から、例外に関するページだけを抜き出したもの

[機能の構造に関する分類(=モジュール構造)]
・トップレベルに構文という問題領域に対応した Syntax という名前空間(=モジュール)がある
・その下に「例外」という部分的な問題領域に対応した Syntax::Exception という名前空間を設けた
・更に、「(例外に関する)抽象クラス」に対応した Syntax::Exception::Abstraction という名前空間も設けた

[型の階層に関する分類(=クラス階層)]
・例外という問題領域は、「予期した例外」と「予期しない例外」という2つの部分的な問題領域へ分割した
・「予期した例外」は、付随する情報、つまり属性によって更に細かな問題領域(=型 or クラス)へと分割される
・「予期した例外」とはいわゆる一般的なエラーであり、
  これが発生した場合にはアプリケーションで捉えて適切なエラーメッセージを表示する
・「予期しない例外」とはいわゆるバグであり、これが発生した場合にはアプリケーションでは捉えず
  処理系を異常終了させて、スタックダンプ等のデバッグ情報を得る
0082デフォルトの名無しさん2014/02/11(火) 02:35:01.16
読んでないが、簡潔にまとめられない奴らが、良い名前を付けられるわけがない。
0083デフォルトの名無しさん2014/02/11(火) 02:59:31.95
言えてる
0084デフォルトの名無しさん2014/02/11(火) 09:04:52.22
言語処理系そのものや、独自のスクリプトを実装したいとか
例外処理機構の無い言語に例外的な機構を実装したいとかなら
Exceptionでグループをひとつ作るのもアリだと思うけど
一般的なプログラミングにはそぐわないと思うんだよなあ
0085552014/02/11(火) 09:22:25.06
>>82
議論してる人たちから見れば、興味がない外野は黙ってろと言いたいだろうなぁ。

>>63 の考えを簡潔にまとめたのが >>63 の「自分は名前空間を利用している」であり、
>>71 の「名前空間とは型を(意味的にではなく)構造的に分類する入れ物」で、
君が読んでいないというのは、それに例を付けて説明した部分だろうに。

で、>>64 の例外クラスの名前に関する考えの本質は >>64 にもある
「例外クラスはコード中に頻出しない --> 短くしようとせずベタに名前を付ければいい」で、
名前空間に対する考え方の本質は >>66 の「型を意味的に分類する入れ物」だろ。
あとは、これも君は読んでいないだろうが、この考え方を説明した部分だろうに。

俺は、振り返ってみると、今まで入門書や他人のソースなどを見て、
「何の考えもなしに」 >>64 のようにやってた。
あらためて考えてみると >>63 の考え方にはナルホドと思わせられるところがある。
確かに、例外や名前空間に対するそういう捉え方・考え方もできるなと思った。

俺は両者のメリット・デメリットをまだちゃんと自分で検証しないから、意見は言えない。
が、ちょうど今趣味でそこそこの規模のアプリを作ってみようとしてたところだから、
一度 >>63 の考え方でやってみようかと思う。
もしかしたら言語によってもメリット・デメリットが変わってくるかもしれん。


ただなぁ、なんでこう煽り合うんだろう。
せっかく興味深いことを議論してるのに、大変見苦しい。
0086552014/02/11(火) 09:24:42.25
>>85
誤解を生みかねないミスをした。

誤) 俺は両者のメリット・デメリットをまだちゃんと自分で検証しないから、意見は言えない。

正) 俺は両者のメリット・デメリットをまだちゃんと自分で検証していないから、意見は言えない。
0087デフォルトの名無しさん2014/02/11(火) 09:25:08.66
自分のブログに書いてろ

>>1
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
0088デフォルトの名無しさん2014/02/11(火) 09:37:34.44
設計の「善し悪し」を言い合っている部分は確かにNGだろうけど

でもこういう設計(方法)があって、その場合にはこういう構造でこう名付ける案もある、
と言っている部分はスレ的にはOKじゃね

まぁ、あくまで名前を付けることが主で、その前提となる設計が従のスレにおいて、
設計の方の話がヒートアップしてるのは、馬鹿かこいつら、って思うが
0089デフォルトの名無しさん2014/02/11(火) 09:41:05.23
今北産業
伸びてるな
0090デフォルトの名無しさん2014/02/11(火) 09:50:01.37
>>88
支持

名前空間を機能分けにするか役割分けにするかの「是非」はどうでもいいな
そういう多面的な観点を、根拠の一つとして提示して、こんな名前付けもできるね、っていう話なら建設的だよね
0091デフォルトの名無しさん2014/02/11(火) 10:14:15.86
これが会話なら流動的になっても致し方無い部分もあるけれど
ワンクッション置いた文章のやり取りなのだから
簡潔に主張したいことだけ書いて相手の反論にいちいち反応するなと言いたい

議論は解決の糸口を見つける方法であって、一連のやり取りは議論じゃなく単なる主張のし合いってだけ
両者の主張に答えを出す必要性すら無い

オレならNamespaceにExceptionは使わない
Usingを使ってNamespaceと切り離して使われる場合があるから
0092デフォルトの名無しさん2014/02/11(火) 10:18:05.47
やっと収束したな
0093デフォルトの名無しさん2014/02/11(火) 10:36:36.84
大元の話は >>53 なんよね
GUIDの生成に失敗するのを、何度か試行して
生成不能とみなした場合の例外だから…俺なら単に

GUID::GenerateFailed

かなぁ、「何度も繰り返した部分は無視か?」と思うかも知れんが
試行回数は投げられた例外オブジェクトの属性やメッセージに書いとく
0094デフォルトの名無しさん2014/02/11(火) 15:32:15.71
だから、>>53についてはそもそもリトライするようなコードが間違ってるわけで、
そんなものはリトライなんか必要がないアルゴリズムに置き換えるべき。

その実装が技術的に困難とかコストが掛かりすぎるとかならともかく、バッティングしない
IDを発行することのどこが難しいのか。

プログラミングは実用技術なんだから、実用上価値がない方向の工夫を重ねても何の意味もない。
0095デフォルトの名無しさん2014/02/11(火) 15:43:44.46
>>93
命名方針はそれがよさそう
0096デフォルトの名無しさん2014/02/11(火) 16:45:45.50
>かなぁ、「何度も繰り返した部分は無視か?」と思うかも知れんが
>試行回数は投げられた例外オブジェクトの属性やメッセージに書いとく

例外発生に関する情報をオブジェクトに持たせる、
というところは同意する

ところで>>53は逃亡したようだな
0097デフォルトの名無しさん2014/02/11(火) 17:37:31.07
>>94
でも実装そのものを変える話になると、もうこのスレの範疇じゃないからな
0098デフォルトの名無しさん2014/02/11(火) 17:51:04.88
>>94
> プログラミングは実用技術なんだから、実用上価値がない方向の工夫を重ねても何の意味もない。

中身のないお前のレスの方が意味ないわ (w
0099デフォルトの名無しさん2014/02/11(火) 18:40:11.25
>>96
横道にそれてどうでもいいバトルが始まってたら、俺が53でもブラウザ閉じる
0100デフォルトの名無しさん2014/02/11(火) 18:43:53.93
>>99
そういう言い草頭悪いと思うよ。
ウンコ蝿がウンコのまわりを周回しながら「ウンコ臭え」って文句言ってるのと同じ。

お前はウンコ周回しならが何言ってんだ。
馬鹿じゃないの。
0101デフォルトの名無しさん2014/02/11(火) 18:56:05.07
>>99
確かに >>100 みたいなレス見たらそっ閉じするに限るな
0102スレの内容がズレてきたから修正用の ネ タ !2014/02/11(火) 19:21:33.63
2chのスレ追跡のプログラミングしてるんだけど、
基地外を発見したとき、そいつをマーキングして追跡したいんだけど
どういう名前にしたらいい?
0103デフォルトの名無しさん2014/02/11(火) 19:29:38.60
unko
0104デフォルトの名無しさん2014/02/11(火) 19:37:44.91
>>102追跡プログラム
0105デフォルトの名無しさん2014/02/11(火) 20:03:48.82
S_Talker
0106デフォルトの名無しさん2014/02/11(火) 20:27:42.94
>>105
それだっ
0107デフォルトの名無しさん2014/02/11(火) 22:13:56.00
>>102
何に対する名前を訊いているのか曖昧だな
0108デフォルトの名無しさん2014/02/11(火) 23:08:48.81
スレタイは確か:
  基地外名・プログラム名に迷ったら書き込むスレ。Part24
だったはずだよな?
0109デフォルトの名無しさん2014/02/11(火) 23:17:21.07
>>102
CrazyMarker
0110デフォルトの名無しさん2014/02/12(水) 04:30:09.06
>>102
自警団でいいじゃん
英訳しなくていい
その方がモチベーションも維持できる
0111デフォルトの名無しさん2014/02/14(金) 02:04:33.35
STawk
0112デフォルトの名無しさん2014/02/14(金) 17:32:57.04
単語Offsetを3文字に短縮したい場合、
Ofs
Ost
Off
その他
どれが良いだろう?
0113デフォルトの名無しさん2014/02/14(金) 17:49:56.41
短縮しない

それがメモリとかの相対位置を意味するものならDifference
短縮してDiffとかにする
0114デフォルトの名無しさん2014/02/14(金) 18:29:53.28
>>112
offsetじゃなくてindexの短縮形であるiを使う
0115デフォルトの名無しさん2014/02/14(金) 19:19:44.73
>>112
俺も基本的には短縮しないほうがいいと思うが
敢えて3文字に短縮するなら、OST だな
0116デフォルトの名無しさん2014/02/14(金) 20:49:00.11
ofsじゃね?いや省略しなきゃいいじゃんとは思うけど。
0117デフォルトの名無しさん2014/02/14(金) 21:12:25.62
コーディング規約で決められてるとかじゃなければ、
offsetのままがいい。
0118デフォルトの名無しさん2014/02/14(金) 21:57:21.92
span も4文字で済むが、
offsetの方が実態を表しているならこだわったほうがいいかもよ
0119デフォルトの名無しさん2014/02/14(金) 21:59:34.01
ハードの世界ではaddressをadrs とか
offsetをoffsとか4文字に短縮することが多い。
0120デフォルトの名無しさん2014/02/14(金) 22:08:16.57
そういう適当なこと言わないの。
0121デフォルトの名無しさん2014/02/14(金) 23:30:05.88
address は addr じゃないのか?
0122デフォルトの名無しさん2014/02/15(土) 01:27:10.30
adrわ?
0123デフォルトの名無しさん2014/02/15(土) 16:23:16.66
C#で開発していて、今まで作ってきた自分用のクラスライブラリを
整理整頓したいのですが、最上位のNamespaceは何にすべきでしょうか?
自分の名前でしょうか?良い分類方法があれば教えてほしい。
0124デフォルトの名無しさん2014/02/15(土) 16:39:36.94
>>123
特にこだわりがないのならMSのガイドラインどおりでいいでしょ
http://msdn.microsoft.com/ja-jp/library/ms229002.aspx
0125デフォルトの名無しさん2014/02/15(土) 16:49:08.41
>addressをadrs とか

Aurex の Adres と Victor の anrs 思い出した
0126デフォルトの名無しさん2014/02/15(土) 16:53:28.57
>>123
良い分類法と言えるか自信は無いが
”自分用のクラスライブラリの最上位のNamespace”
ならば、万が一、他のライブラリと名前が衝突してしまっても
コードの一部分をツールで書き換えてしまえばいいので適当でもいいと思う。

でも一意性の確保はやはり欲しいというなら、俺は好きなフレーズの省略したものを使っている。
例えば、"mou dame po" ならば mudmpo という感じ

一応参考に挙げとくが、JAVAでは保持しているドメイン名を逆順をしたものを推奨している。
例えば、toro.2ch.net ならば net.2ch.toro という感じ
0127デフォルトの名無しさん2014/02/15(土) 18:09:35.64
みなさんありがとうございます。
>>124,126
MSやJAVAのガイドライン大変参考になりました。とりあえずMSの方式で
やってみます。
0128デフォルトの名無しさん2014/02/15(土) 18:11:54.72
っていうかMSのガイドラインをこれまで目を通したことがないC#の開発者って...
0129デフォルトの名無しさん2014/02/15(土) 18:17:05.80
>>128
ん?
呼んだ?
0130デフォルトの名無しさん2014/02/15(土) 18:29:30.24
>>126
数字始まりだとパッケージ名に使えなくて困るよな。
0131デフォルトの名無しさん2014/02/15(土) 18:40:03.00
なんでMSのガイドラインを見ないといけないんだ プンスカ 信者じゃねーんだ
0132デフォルトの名無しさん2014/02/15(土) 18:59:13.49
>>131
従うかどうかは別にして、一度目を通すくらいはしておくことを勧める
0133デフォルトの名無しさん2014/02/16(日) 11:02:28.44
だな
感情論的な文句を言う奴に限って不勉強だから困る
不勉強なだけならまだしも、オレオレルールの方が優れてるぜ的な主張始めるから手に負えない
0134デフォルトの名無しさん2014/02/16(日) 14:07:55.41
>>128を書いたのは俺だが、そのよくわからん被害妄想もどうかと思うが。
個人的にはあんたみたいなタイプの方が手におえないよw
0135デフォルトの名無しさん2014/02/16(日) 15:05:38.39
>>134以外で被害妄想に見えるレスが見当たりませんが…
0136デフォルトの名無しさん2014/02/16(日) 19:58:14.75
>>135
わろたw
0137デフォルトの名無しさん2014/02/16(日) 23:11:47.76
>>135=池沼
0138デフォルトの名無しさん2014/02/17(月) 18:09:33.78
>>135
見当たらんのう
0139デフォルトの名無しさん2014/02/19(水) 01:09:25.85
よしやり直そうぜ
っていうかMSのガイドラインをこれまで目を通したことがないC#の開発者って...
0140デフォルトの名無しさん2014/02/19(水) 18:58:57.83
ルーピーきもっ、まで読んだ。
0141デフォルトの名無しさん2014/03/01(土) 17:48:11.51
こういうことをしたいクラスの名前、いいのありますか?

class X {
int value, goal;
X(int start, int goal) : value(start), goal(goal) {}
void update() {value += (goal - value) / 2} // 差の半分だけ近づく
int value() {return value}
}
0142デフォルトの名無しさん2014/03/01(土) 17:56:26.63
>>141
Asymptotic
01431412014/03/01(土) 17:57:35.04
>>142
ハイ採用!ありがとう!
0144デフォルトの名無しさん2014/03/01(土) 18:10:45.70
アキレスの亀(笑)とかみたいな中二病な名前の方が分かりやすいと思う。
それに漠然と漸近じゃどう漸近するのか分からん
0145デフォルトの名無しさん2014/03/01(土) 18:13:36.35
>>144
> それに漠然と漸近じゃどう漸近するのか分からん

うん、でもこの場合偶然これでちょうど良いんよ。
>>141の近づきかたは一例で、バリエーションは派生クラス名で表現したいいと思ってたから。
でも多分これ単体で十分そう。
0146デフォルトの名無しさん2014/03/01(土) 19:18:42.51
>>141
反復的に処理するんだよね

何それ怖い、一向にゴールに辿りつけない
夢で追い掛けられて走っても全然前に進まないみたい
0147デフォルトの名無しさん2014/03/01(土) 19:19:52.09
>>144
アキレスの亀?
意味が分からん

アキレスの亀は一度に
0148デフォルトの名無しさん2014/03/01(土) 19:20:51.95
>>144
途中でレスしてしまった

アキレスの亀は一度に2倍ずつ前進するわけではないと思うが
0149デフォルトの名無しさん2014/03/01(土) 19:45:23.16
>>148
それを言うなら漸近という概念も離散的なものじゃない。
対して、亀やアキレスからはボードゲーム的な動作を想像することは比較的容易。
01501472014/03/01(土) 20:08:55.61
>>149
ごめん、ちゃんと真面目な理由があってのことだったのならいいんだ

謝る
0151デフォルトの名無しさん2014/03/01(土) 20:20:41.35
自然数を要素とする有限リストに適用し、真偽値を返す関数の名前を考えています。

この関数は、適用したリストが、1番目の要素として 1 が、2番目の要素として 2 が、・・・
n 番目の要素として n が入っている状態では真を、そうでない場合は偽を返します。
(べつに 0 から始めても何も問題ありません)

整列しているというニュアンスから aligned を考えましたが、
やや抽象的といいますか、曖昧という感じがします。

なにか良い名前はないでしょうか。
01521512014/03/01(土) 20:29:21.62
>>151
すいません、関数の定義を訂正します。

1番目の要素として 1 が、2番目の要素として 2 が、・・・
n 番目の要素として n が入っている状態とは限りませんでした。

リストに決められた順で決められた値が入っているかどうかを真偽値として返す関数です。
(どのように決められたいるかは任意です)
0153デフォルトの名無しさん2014/03/01(土) 20:33:49.70
意図通りに並んでいるということなら arranged とか
参照するパターンや定形名があるなら arrangedAs(xx) とか
0154デフォルトの名無しさん2014/03/01(土) 20:39:49.18
真偽値を返す関数にはhasとかisとか三単現の同士を使うって既約はわりと一般的?
01551512014/03/01(土) 20:49:16.61
>>153
ありがとうございます。
名前も短く、意味も明瞭なので採用させていただきます。
0156デフォルトの名無しさん2014/03/01(土) 20:51:29.10
>>154
使っている人は多いですね。
そういう意味では一般的だと思います。

私はあまり使いません。
使わなくても、文脈などで十分わかる場合がほとんどなので。

私がメインで使っているのは Haskell ですが、
ライブラリドキュメントから is*** という関数名を調べると結構な数がありました。

調べて初めて気づきましたが、面白いことに、そこにあるのは「is + 名詞」ばかりで、
他言語でよくある「is + 過去分詞」は一つもありません。
私の環境にインストールされているライブラリがたまたまそのようなだけかもしれませんが。
0157デフォルトの名無しさん2014/03/01(土) 21:13:00.35
is + 動名詞 で何かの動作中ってのもあるよね。
0158デフォルトの名無しさん2014/03/02(日) 09:38:44.49
>>141
easing.foo()とかeasing_bar()みたいな命名にして
http://semooh.jp/jquery/cont/doc/easing/
ここから似たような挙動のやつの名前をパクってくる
0159デフォルトの名無しさん2014/03/02(日) 11:08:33.84
>>158
easing は >>141 そのものではなく、どちらかといえば
>>141 において goal に近づく「strategy」に当てる名ではないだろうか
0160デフォルトの名無しさん2014/03/02(日) 12:39:26.19
>>158
解決済みだよ

結構下がってきたから上げとく
0161デフォルトの名無しさん2014/03/02(日) 14:00:46.35
>>158
時間の関数になってないんだからイージング関数としては使えない
0162デフォルトの名無しさん2014/03/02(日) 16:56:37.19
>>156
その辺りは規約次第かな

限定的な意味になるならIS+名詞でも差し障りないとは思う
例えば、isLimitとかなら限界に達したかどうかなんだなって思えるし
これをまともに書いたらhasReachedLimitって長くなる
ただ、これをisLimitedにしたら違う意味になるし
その辺りよく考えないとね

頭にISを付けるのってBool値を返すための接頭辞的な使い方が最初じゃなかったっけ?
0163デフォルトの名無しさん2014/03/02(日) 17:40:47.56
識別子に ? が使える言語が羨ましい
0164デフォルトの名無しさん2014/03/02(日) 18:29:57.31
>>160
別に解決済みでもいいっしょ。
0165デフォルトの名無しさん2014/03/03(月) 00:51:15.82
改行したばかりで一文字も入力されていない
=一桁目だ、ということを表す変数名はis何がいいですか?
0166デフォルトの名無しさん2014/03/03(月) 01:08:37.21
>>165
isAtLineHeadとか
0167デフォルトの名無しさん2014/03/03(月) 01:59:10.13
>>165
firstLetter
0168デフォルトの名無しさん2014/03/03(月) 06:55:51.92
>>165
isEmptyLine
0169デフォルトの名無しさん2014/03/03(月) 08:19:27.09
日本語やり直して
0170デフォルトの名無しさん2014/03/03(月) 08:33:14.39
>>165
> 一文字も入力されていない
と
> 一桁目だ、
は、全然 = じゃないんだが、どっちよ。
0171デフォルトの名無しさん2014/03/03(月) 12:36:09.40
>>170
一桁目というのは、たぶんカーソルが(その行の)1桁目にあるという意味だと思う。

そう捉えればイコールで結べるから
0172デフォルトの名無しさん2014/03/03(月) 19:11:10.16
俺は>>170とは別人だが、
キャレットの後ろに文字があるケースを想像できないってどんなダメグラマだよ。
0173デフォルトの名無しさん2014/03/03(月) 19:33:01.05
お前がな
0174デフォルトの名無しさん2014/03/03(月) 22:17:44.91
>>165
>>167と>>168をパクって
isFirstLetterAsEmptyLine
0175デフォルトの名無しさん2014/03/05(水) 23:56:03.70
C言語ではbFlagって書いてたけどC#になってisFlagって書くようになった不思議
0176デフォルトの名無しさん2014/03/06(木) 01:30:18.26
users というテーブルに、指定したidが存在するかどうかを調べる関数を作っています。
英語が苦手で自信がないのですが、
$db->users->hasId( $user_id );
or
$db->users->hasUserById( $user_id );

hasId() は問題なさそうに見えるのですが、hasUserById() もどうでしょうか。
また、他に良い関数名などありますか?
0177デフォルトの名無しさん2014/03/06(木) 01:52:03.20
contains
0178デフォルトの名無しさん2014/03/06(木) 02:21:12.92
俺もcontainsがいいと思うが他に
searchID or searchUserID
なんかどう?
0179デフォルトの名無しさん2014/03/06(木) 02:49:44.33
>>176
1つ目はusersリストに指定したIDがあるかどうか
2つ目はusersリストの指定したIDにユーザが登録されているかどうか
って事?

ID自体が管理する為のユーザの代替名だから
ユーザが登録済み故にIDが発行されるって設計だよね?
IDが存在するならユーザ情報も存在するって意味で

もしそうなっているなら前者で十分、後者はいらんよな
0180デフォルトの名無しさん2014/03/06(木) 07:40:18.92
>>175
まじ? <C#
0181デフォルトの名無しさん2014/03/06(木) 07:41:43.31
>>176
リストに対してhas〜 はないなー。そもそも
0182デフォルトの名無しさん2014/03/06(木) 07:51:02.97
>>176
exist
0183デフォルトの名無しさん2014/03/06(木) 09:25:03.79
>>176
exist
idかどうかは引数でわかるだろう。
0184デフォルトの名無しさん2014/03/06(木) 09:25:35.99
かぶってた
01851762014/03/06(木) 16:31:42.92
該当のidを持つユーザがいるかどうかを調べたい感じです。

$db->users->containId( $id );
$db->users->searchId( $id );
$db->users->existId( $id );
といったところでしょうか。

メールであれば
$db->mails->existMsgno( $msgno );

のような利用で大丈夫ですか?
0186デフォルトの名無しさん2014/03/06(木) 18:43:27.90
>>185
引数の型とか、順番で判断すればいいだろ。
複合キーだったらexistHogeAndFooAndBarとかするつもり?
01871762014/03/06(木) 19:59:23.51
その場合は
$query = array(
"key1" => "value1",
"key2" => "value2",
);
$db->users->search( $query );
を作っています。

使い勝手として
if ( $db->users->existId( $user_id ) ) {
}
と書けた方がいいので、作りたいと思った感じです。

hasはusersがidを持っているか、というようなニュアンスで付けました。
#間違っているかもしれないですが。。
0188デフォルトの名無しさん2014/03/06(木) 20:14:53.27
C#ならメソッド名はFindかExistsにして、その引数にはラムダ式(デリゲート)
を取るようにするケースかね。

俺も>>176が言うとおり、引数に「ユーザー」の型を取るわけじゃなく、
「ユーザー」の属性を取るのにメソッド名にその属性の名前がないのは変だと思う。
0189デフォルトの名無しさん2014/03/06(木) 20:45:52.18
>>187
オーバーロードなら、searchにuser_id渡せるだろ。
まあ戻り値が条件として使えるかは、言語が不明なので何とも言えないが。

まあ、昔はそういう命名が流行ってた時期もあったようだから、いいんじゃない。とりあえず全部入れとけというような名前とか見かけるし。
01901762014/03/07(金) 00:38:02.69
言語はphpです。
ContainsId( $user_id )

にしました。

ありがとうございました。
0191デフォルトの名無しさん2014/03/07(金) 04:42:08.24
lookup を忘れてあげないで
0192デフォルトの名無しさん2014/03/28(金) 06:14:01.93ID:dT+U4pbh
スタック式のカスタムアロケーターの名前なんだけど、名前被りにより「Stack_Allocator」が使えない
Mark_And_Release_AllocatorとRegion_Allocatorのどっちが好き?
0193デフォルトの名無しさん2014/03/28(金) 07:48:58.33ID:t8r5ABN8
templateにせんのか?
0194デフォルトの名無しさん2014/03/28(金) 08:18:39.24ID:dT+U4pbh
C++じゃないんで
0195デフォルトの名無しさん2014/03/28(金) 09:16:06.59ID:VVPQgbpw
My_Stack_Allocator
0196デフォルトの名無しさん2014/03/29(土) 01:59:53.96ID:BlQ6/Bp+
Stack_Broker
0197デフォルトの名無しさん2014/03/29(土) 17:37:57.18ID:I1tU3ujG
>>194
Cなの?
0198デフォルトの名無しさん2014/04/11(金) 16:40:34.37ID:5YbjDPT2
正規表現のRegex風にS式のS-Expressionのクラスの名前教えてください
0199デフォルトの名無しさん2014/04/11(金) 18:17:32.56ID:F9N8K0IN
>>198
SymExp
0200デフォルトの名無しさん2014/04/14(月) 22:42:01.64ID:EeY8LyqJ
int xxx(int n, int minValue, int maxValue)
{
if (n < minValue) return minValue;
if (n > maxValue) return maxValue;
return n;
}


n = xxx(n, 0, 999);

数値が、最小値、最大値からはみ出していたらその大きさに丸めて、
範囲内だったらそのまま返す関数って、どういう名前がいいですか?
0201デフォルトの名無しさん2014/04/14(月) 22:44:40.32ID:Jngx582W
>>200
bound_int_value
0202デフォルトの名無しさん2014/04/15(火) 01:06:13.82ID:xRl40yH0
clamp
0203デフォルトの名無しさん2014/04/15(火) 02:32:35.48ID:fR6ayjsl
>>200
似たような関数作ったことある
その時はRangeってしたわ
0204デフォルトの名無しさん2014/04/15(火) 02:50:39.53ID:9pVsP7Oj
>>200
InsureRange
0205デフォルトの名無しさん2014/04/15(火) 07:34:23.85ID:2R2ghSam
>>200
シェーダ言語とかではよくclampって関数名で定義されてるね
0206デフォルトの名無しさん2014/04/15(火) 08:09:11.21ID:D5PUC5mL
>>200
飽和演算?
0207デフォルトの名無しさん2014/04/15(火) 13:45:53.03ID:xKGzsUAl
ensureRange
0208デフォルトの名無しさん2014/04/15(火) 17:56:19.53ID:e83dq4jx
>>206
似てるけど、今回のはそれ自体に演算機能は持たないんじゃね?
0209デフォルトの名無しさん2014/04/15(火) 19:15:34.41ID:XJQt4XYv
>>208
なるほど、そういやそうだな。
0210デフォルトの名無しさん2014/04/15(火) 19:32:08.94ID:RXwoPk3P
>>200
もうこのスレでも何度も出てるお題。
clampで決まりでしょ
0211デフォルトの名無しさん2014/04/17(木) 08:27:53.03ID:fUQRRpSZ
clipも似たような状況で使われるけど、微妙に違いがわからない
0212デフォルトの名無しさん2014/04/17(木) 21:53:03.54ID:aSfdufW/
cropも仲間入りだ
0213デフォルトの名無しさん2014/04/17(木) 23:57:04.46ID:fUQRRpSZ
cropは見たこと無いな。
どういう意味合いで使われてんのん?
0214デフォルトの名無しさん2014/04/18(金) 00:53:41.80ID:UHEH0YN2
clampは弾圧し、制限する
clipは必要な部分を切り抜く
cropは不要な部分を切り落とす

clipとcropはやることは似てるけど、注目してる対象が真逆なんじゃね
0215デフォルトの名無しさん2014/04/18(金) 01:09:26.87ID:Gdxkjuia
それはどうかねw
用例を見てみるとどちらも目的語に取る単語は変わらないようだが
0216デフォルトの名無しさん2014/04/18(金) 18:52:51.47ID:HhTg8YpZ
clipやcropだと、指定範囲に入ってなければ削除されちゃうイメージなのか
0217デフォルトの名無しさん2014/04/18(金) 22:04:36.18ID:AgX57pfJ
ImageMagickはcrop派
http://www.stat.ufl.edu/system/man/ImageMagick/images/examples.jpg
0218デフォルトの名無しさん2014/04/20(日) 00:30:26.48ID:v+osdnJB
clampは万力で挟み込むイメージ
0219デフォルトの名無しさん2014/04/20(日) 03:36:43.29ID:lQVYmlUh
うまく説明できないんですけど、いくつかのincludeされるファイル(仮にA〜K)があって、
もちろんそれらをincludeするファイル(仮にX)があるんです。この時、A〜KからみたXを
なんて呼べば(なんて変数名/定数名にすれば)いいのかわからないのです。
今のところ
 top
 master
 parent
が思い浮かんだのですが。。。
流れぶった切ってすいません。ちなみに私はclamp派です。
0220デフォルトの名無しさん2014/04/20(日) 04:39:06.64ID:DYddObWG
統括することによって発現する機能は何?
0221デフォルトの名無しさん2014/04/20(日) 05:04:36.10ID:lQVYmlUh
ちょっと言葉が足りませんでした。A〜K、Xはソースコードで、A〜Kはライブラリです。

現在タブ型エディタからコンパイルなどを行おうとしています。編集中のソースコードを
コンパイルする機能までは実装できたのですが、この方法だとコンパイルの際に毎回Xに
移動しなければならず、煩雑に思っています。ですのでコンパイルを行うファイル(X)を
A〜Kにコメントのような形で指定できれば楽かなあと考えたのですが、丁度いい名前が
うまく思い浮かばなかったのです。考えているソースのイメージはこのような感じです。
 #master X
 /*A〜Kなど個々の処理*/
0222デフォルトの名無しさん2014/04/20(日) 10:11:26.86ID:1NFV65d8
>>221
makeコマンド使えよ。設計が悪……げふんげふん

俺ならentrypointにする。
0223デフォルトの名無しさん2014/04/20(日) 10:37:31.72ID:DYddObWG
IDEだと、メニューに「コンパイル」と「ビルド」の項目があったりする。
(何と何をどうビルドするかは、プロジェクトなどと呼ばれる別の部分に書いてあるわけだが)

ところでライブラリって言うからには、Xに限らずYとかZからも
同様に使われるんじゃないの?
「コンパイル」という概念だけで管理したかったら、
「Xのタブ」に"masterFile" みたいな属性つけてみれば?
#俺はこういう方式でビルドを管理することに違和感があるけど

# (要は>>222の一行目と同意見)
02242192014/04/20(日) 13:08:45.17ID:lQVYmlUh
すいません、インタプリタ言語なのでコンパイルではなく実行でした。。。
言葉を間違えてしまってごめんなさい。自分の誤用がうんだのだと思いますが、
makeはどうやらコンパイラ型言語用っぽいので、使えなさそうです。

>>222
>>223
IDEにしてプロジェクトを作成するようにすることも考えたのですが、
なにかちょっとしたコードを書くだけですぐに実行できる手軽さが
長所なので、プロジェクトを作成・管理する方式にするのはなるべく
避けたいと思っています。

ですがIDEにしないとなると>>221のように面倒になるので、
ソースコード中にXを指定できればいいなと思ったのです。

entrypointとmasterFileですか。考えます。
0225デフォルトの名無しさん2014/04/20(日) 14:01:51.48ID:QOBJ+v8C
>>224
もう使用言語書いちゃった方が早いんじゃないの?
スレ違いなら該当スレに誘導もできるし
0226デフォルトの名無しさん2014/04/20(日) 14:22:51.42ID:1NFV65d8
>>224
結局、個々のファイルにプロジェクト情報を埋め込むことになってるけどな。
#entrypoint
#entry
#start
#run
0227デフォルトの名無しさん2014/04/20(日) 15:56:19.15ID:FM5jWgiI
>>219の言ってることはさっぱり理解できんな。

依存される(インクルードされる)側のコードから依存する側が分かるようにしたいって
そんな情況ありえない。

依存関係は一方通行にしろって基本中の基本だろ。
02282192014/04/20(日) 16:59:01.63ID:lQVYmlUh
ああそうか、やっと>>223の言っていることが理解できた。
他の(X以外の)ファイルからもincludeされている場合が
あるのか。だから、依存関係は一方通行にするんですね。

もともと大規模な開発には向いていないし、色々使われる
ようなファイルにはそんな頻繁に変更を加えないだろうし
大丈夫、などといった考えはさすがに甘いですかね。。。
(例えばCのstdio.cはまず編集しないだろうという考え)

複数のファイルから依存されるファイルでの指定はどんな
感じにすればいいんでしょうか。依存するファイルを全て
書いてもらい、その中で最も新しく編集・実行されたもの
にすればいいんでしょうか。

>>226
そうなっちゃいますけど、
 複数ファイルを編集しての開発の数<<<<1ファイルのみの編集での開発の数
なので、今のところは仕方ないで済ませるしかないかなあと。
0229デフォルトの名無しさん2014/04/20(日) 17:19:02.19ID:1NFV65d8
「必要とされている」に着目するなら
#required_by
#used_by
#prerequisite_of

「アイツにはincludeされてもいいけど、アイツにはincludeされたくない」っていうアクセスコントロールは
まあアリなんじゃねーの。新しい可能性は感じる。
その場合はサーバの設定みたく
#allow
#deny
みたいな名前を推すね。
0230デフォルトの名無しさん2014/04/20(日) 20:39:37.72ID:sUEwE9Sm
SQLクエリ作って実行して結果セットを返すだけの関数がたくさんあるのだけど名前の付け方になやむ
きっちり名前つけたらめちゃ長くなるし短くしたら意味わからんくなる
ビジネスロジック次第でどんどん増えてくるし名前考えるのが間に合わないよ
0231デフォルトの名無しさん2014/04/20(日) 20:52:45.25ID:G8rwm69d
ここは愚痴を言うスレじゃありませんよ
0232デフォルトの名無しさん2014/04/20(日) 20:57:18.39ID:1NFV65d8
>>230
Connection.getXXX
0233デフォルトの名無しさん2014/04/20(日) 21:09:25.05ID:AgU+bPCO
>>230
クラスにして、longNameやdescriptionって属性付ければいい。
0234デフォルトの名無しさん2014/04/20(日) 22:18:11.91ID:k3tDznaJ
f001_0001
0235デフォルトの名無しさん2014/04/21(月) 14:13:39.74ID:hwQr/gvM
あるデザパタに則ったクラスを作った時、そのクラス名にデザパタ名って入れてる?
0236デフォルトの名無しさん2014/04/21(月) 18:17:02.65ID:zZ+Xq2d/
>>235
入れないかな
入れる必要性ってあるかなあ
0237デフォルトの名無しさん2014/04/21(月) 21:03:10.78ID:oJpcDlRY
○○Factoryはアリだけど
××Compositeは無いわ
0238デフォルトの名無しさん2014/04/21(月) 21:46:56.50ID:7G5cgUXt
Bridge Adaptor 入れるやつもけっこありそうだが
02392192014/04/22(火) 23:28:59.39ID:0+lCOfH1
皆様ありがとうございました。
とりあえず、#entrypointあたりを考えてみます。
0240デフォルトの名無しさん2014/04/24(木) 22:39:36.55ID:kRu8Dwzx
ブログのエントリ作成ページを表示するメソッド名で悩んでいます。
show_entry_create_page()ではおかしいと思うので
いい名前があれば教えていただけないでしょうか
0241デフォルトの名無しさん2014/04/24(木) 22:59:49.00ID:a86mk3CI
showPage2CreateEntry
「2」で分けてるところがポイント
0242デフォルトの名無しさん2014/04/24(木) 23:01:00.54ID:hPYav21o
PageCreateView.show
0243デフォルトの名無しさん2014/04/24(木) 23:26:30.99ID:y+/G0yAt
>>240
背景情報ゼロでそれだけ言われても何を求めてるのか誰も分からないと思うが...

ShowEntryPageStub()
ShowEntryPageSkeleton()
ShowStub(KindOfPage page)
0244デフォルトの名無しさん2014/04/25(金) 01:21:53.23ID:KTr74lei
>>240ですがすみません、メソッドではなく関数でした。
投稿フォームがあるhtmlを返すだけの関数です。
0245デフォルトの名無しさん2014/04/25(金) 06:24:47.85ID:Pkyhb6hg
>>244
なんでネームスペースなりモジュールを切らないのさ
0246デフォルトの名無しさん2014/04/25(金) 07:30:18.56ID:KTr74lei
>>245
シンプルなブログで、使っているフレームワークも
flaskというマイクロフレームワークなので必要ないかなと思いました
0247デフォルトの名無しさん2014/04/27(日) 11:54:30.16ID:ZFL5ABxC
リスト内のあるパターンにマッチする、あるいはマッチしない要素のみを集めて別のリストにする、
いわゆるフィルター関数を作っています。

マッチする、しない、どちらの処理かはこの関数の引数で指定できるようにします。

要素ひとつに対して、パターンとマッチするなら0を、しないなら-1を返す関数は予め用意されています。

あとはリストをたどってフィルターする関数を作るだけですが、
質問は上記の役割の引数の名前をどうするかです。

filter関数の定義 (List list, int <引数>) {
foreach (list の各要素 e について) {
if (match (pattern, e) == <引数>) then 別のリストに加える
}}
0248デフォルトの名無しさん2014/04/27(日) 12:42:48.45ID:CYgu7nDo
>>247
filter
0249デフォルトの名無しさん2014/04/27(日) 13:32:30.32ID:MXG/a/88
引数は
マッチさせたいパターンではなく
マッチしたものを集めるのか、マッチしないものを集めるか、の真偽値?

それにしては実装の条件判定が変な気が。
0250デフォルトの名無しさん2014/04/27(日) 14:03:56.07ID:0q81XbwG
>>247
別関数にしろよ
0251デフォルトの名無しさん2014/04/27(日) 14:10:36.20ID:GbqQrH3o
>>247
condition
pattern
isComplement (補集合が欲しい場合はtrueにする)
0252デフォルトの名無しさん2014/04/27(日) 15:02:03.12ID:s0NPrJow
>>250に同意
filterMatched()
filterUnmatched()
0253デフォルトの名無しさん2014/04/27(日) 15:24:56.79ID:ZFL5ABxC
ご意見ありがとうございます。

別関数にすると、真偽判定が逆なだけの、ほぼ同じ関数ができます。

filterMached (List list) {
foreach (list の各要素 e について) {
if (match (pattern, e) == 0) then 別のリストに加える
}}

filterUnmached (List list) {
foreach (list の各要素 e について) {
if (match (pattern, e) == -1) then 別のリストに加える
}}

これは、似たようなルーチンをコピペで作ることによって
バグが入り込みやすくなるのと同じ問題を抱える危険性はないでしょうか?

それとも、この程度は心配に及ばないでしょうか?


パターンをハードコードするか、引数で渡すかは、
今回の質問とは直接関係はないと判断しました。
実際は引数で渡しますが、疑似コードからは省きました。
0254デフォルトの名無しさん2014/04/27(日) 15:33:21.21ID:xRItzqVi
filterUnmatchedはfilterMatchedを使って実装する
0255デフォルトの名無しさん2014/04/27(日) 15:33:40.04ID:0q81XbwG
>>253
別関数にして内部で共通のprivateな関数を呼ばせればいい
0256デフォルトの名無しさん2014/04/27(日) 16:08:17.03ID:GbqQrH3o
result = filter(list, MATCHED);
result = filter(list, UNMATCHED);
0257デフォルトの名無しさん2014/04/27(日) 16:22:58.70ID:ZZqYBvz3
自分の場合こういうのはだいたいmodeにしてる
0258デフォルトの名無しさん2014/04/27(日) 16:36:49.52ID:CYgu7nDo
複雑化の予感がするので、なるべくmodeという言葉は避けている。
0259デフォルトの名無しさん2014/04/27(日) 16:57:01.14ID:6s7wVMIk
>>253
今時そういう処理は、要素を評価してboolを返す処理(いわゆる術語ってやつ)
そのものを外から引数で与えるのが普通だと思うけどね。

そうすればフィルター関数そのものは1つで済む。
List FilterList(List list, IPredicate pred){...}
0260デフォルトの名無しさん2014/04/27(日) 18:10:18.87ID:0q81XbwG
>>259
predicateを渡せるようにするにしろ、selectとfilterは切り替えられた方が楽じゃない?
0261デフォルトの名無しさん2014/04/27(日) 19:36:41.11ID:Rnjqi7kK
>>260
言いたいことがよく分からないけど、>>250みたいに

(1) 条件に一致するものをピックアップする関数
(2) 条件に一致しないものをピックアップする関数

の2つが必要ってこと?

だとしたらそんなの無駄だよ。
それは単にIPredicateの中のboolを返すメソッドの返り値を反転するだけで実現できるんだから。
0262デフォルトの名無しさん2014/04/27(日) 19:52:30.82ID:0q81XbwG
>>261
predicateの返り値を論理反転するの面倒じゃね?
0263デフォルトの名無しさん2014/04/27(日) 20:29:01.78ID:7z1LvxMJ
>>262
え?


え?
0264デフォルトの名無しさん2014/04/27(日) 20:31:02.25ID:0q81XbwG
unary_negateを使いやすいと思うかどうかって話になるのかな。
俺はアレ使い辛いと思うんだが。
0265デフォルトの名無しさん2014/04/28(月) 07:50:49.67ID:BPdrCHGq
match関数は0か-1しか返さず、それに基づいてフィルターすることしかやっていません。
作っているアプリ全体を通しても、今のところ、将来述語を引数で渡す需要は予定されていないのですが、
万が一のために、今のうちに述語を引数で渡すようにリファクタリングしておくべきでしょうか。

そうすれば、名前に悩む必要もなくなると?


mode は簡潔で魅力的だと思いました。
0266デフォルトの名無しさん2014/04/28(月) 09:14:13.54ID:BvpC1L+S
>>265
設計の話はスレ違い
0267デフォルトの名無しさん2014/04/28(月) 11:31:51.89ID:iG5L3XR9
ここまで案が出ているなら
仕様と照らし合わせながら好みの方法を取ればいいじゃない

自分なら>>259と同じ方法を取るかな

filter(List list, IPredicate pred) {
foreach (list の各要素 e について) {
if (pred(e)) then 別のリストに加える
}}

predの戻り値はbool値
match (pattern, e) == -1
や
match (pattern, e) == 0
を返す

これならフィルタリング関数を使う側がパターンを指定できるし
真偽判定を操作できる
0268デフォルトの名無しさん2014/04/28(月) 12:49:08.74ID:BPdrCHGq
分かりました。
mode を採用させていただきます。

ありがとうございました。
0269デフォルトの名無しさん2014/04/29(火) 00:48:10.95ID:AbmpH0cg
カリー化勉強しろ
0270デフォルトの名無しさん2014/04/30(水) 09:21:15.70ID:cx3jGZZa
レス番、名前、書き込み日時、id、書き込み内容を持つResponseクラスがあったとして、
htmlからResponseオブジェクトにする関数はどんな名前がいいでしょうか?
mapじゃ変ですよね
0271デフォルトの名無しさん2014/04/30(水) 09:24:22.38ID:6UO7iz+Z
Deserialize
0272デフォルトの名無しさん2014/04/30(水) 10:05:30.07ID:E490Ymqi
getResponse(html)
0273デフォルトの名無しさん2014/04/30(水) 12:01:32.55ID:MnAqZAza
>>270
parseにした
0274デフォルトの名無しさん2014/04/30(水) 13:18:26.79ID:0MeOOKwa
まさか生のhtml解析するところから全部やるのか?w
0275デフォルトの名無しさん2014/04/30(水) 14:41:54.36ID:JPnQYaUd
Parse()に一票。
入力をテキストファイルに限定しない、例えばDBからの入力なども含むなら GetResponse() でもいいかなあ。
0276デフォルトの名無しさん2014/04/30(水) 17:45:07.90ID:j4BsIhks
俺もparseに一票
0277デフォルトの名無しさん2014/04/30(水) 18:20:44.45ID:YL9xmsHU
生のhtmlを直接「解析」した結果が特定のデータ型ってかなり違和感あると思うんだけどね
0278デフォルトの名無しさん2014/04/30(水) 18:26:24.21ID:16cTkqRc
いわゆるレス、なんだからresponseとか一般的な名前使っちゃうのは大盤振る舞いすぎると思う。
ResuでいいんだよResuで。
List reslist = Resu.createResuList(html)
Resu r270 = reslist.get(270 - 1)

こんな感じにとどめとくのが一番素直じゃね?
0279デフォルトの名無しさん2014/04/30(水) 19:40:03.20ID:hD0MhTgo
>>270
> Responseオブジェクトにする

Response のコンストラクタじゃダメなの?
0280デフォルトの名無しさん2014/04/30(水) 20:04:11.60ID:6UO7iz+Z
いまどき言語ならリフレクションが使えるからそもそも車輪の再発明かもしれんし
どういう目的でhtmlなんて解析したいのかによるな
0281デフォルトの名無しさん2014/04/30(水) 21:43:20.88ID:qHgsSpiC
>>274
html(文字列?)を入力にして、それぞれの要素を取り出して返すならそうなるだろ
アホか
0282デフォルトの名無しさん2014/05/01(木) 13:08:02.88ID:sff33EKO
>>280
>>270を素直に読めば、掲示板のブラウザを開発していると想定するのが、
自然な解釈ではないかと思う
つまり、
  「2ch.netなどの掲示板サイトからHTTPなどの手段で
   あるスレッドのHTML形式(文字列型)データがすでに取得されている」
ここまでが質問(>>270)の想定になる
0283デフォルトの名無しさん2014/05/01(木) 14:42:17.70ID:uU7/MEkt
結局 tmp
0284デフォルトの名無しさん2014/05/01(木) 17:31:51.38ID:qBGbIEYq
>>281
お前の使ってる言語に、HTMLパーサはないのか?
0285デフォルトの名無しさん2014/05/01(木) 18:51:05.30ID:QfqMeChr
>>283
まあな
0286デフォルトの名無しさん2014/05/01(木) 19:07:57.44ID:sff33EKO
>>282の想定が正しいと仮定し、さらに
>>270の質問を要求仕様としてじっくり検討してみると
仕様そのものに曖昧さ/矛盾がみえてくる

具体的には、>>270には「htmlからResponseオブジェクトにする関数」と
あるけれど、>>282で書いたように取得したHTMLデータとはスレを表す
そしてスレは複数のレスの反復から構成されるわけだから、
論理的にHTMLからレスへの関数は存在しえない

この矛盾は>>270が作ろうとする仕様に応じて、以下のいずれかになるだろう
(1) 実は「HTMLからスレを得る関数」が欲しかった
(2) 実は「HTMLからレスの集合オブジェクトを得る関数」が欲しかった
(3) その他
これらのどれが正しいかは>>270本人しか分からないわけで、
それが決まらなければ適切な命名はできない
0287デフォルトの名無しさん2014/05/02(金) 00:11:37.40ID:9qUJMVyr
>>286
「複数のレス」なんて拡大解釈もいいとこだろ
0288デフォルトの名無しさん2014/05/02(金) 00:21:33.07ID:TboE210z
>>286
気持ち悪…
0289デフォルトの名無しさん2014/05/02(金) 01:46:28.84ID:OgCqwCcb
ついでに、専ブラのスレ一覧で1日とか1時間あたりのレス数を表示するものありますよね。勢いとか呼ばれたり。この英語名をお願いします
0290デフォルトの名無しさん2014/05/02(金) 01:52:37.23ID:jIwzpAmb
ikioi
わりとマジ
0291デフォルトの名無しさん2014/05/02(金) 08:25:06.54ID:H6Oph/1V
PPD、PostsPerDay
0292デフォルトの名無しさん2014/05/02(金) 17:37:17.12ID:BQe7Xuso
trend
momentum
0293デフォルトの名無しさん2014/05/04(日) 13:34:36.36ID:Qr2Jhwpy
JavaScriptで矩形を扱ってます
左上、右上
左下、右下
に対応する変数名なんですが、慣例みたいなものがあれば教えてほしいです
0294デフォルトの名無しさん2014/05/04(日) 13:56:37.66ID:Zzf9bUfD
>>293
慣例かどうか知らんけど、単純に

topLeft、topRight
bottomLeft, bottomRight

で良いと思うがなあ
0295デフォルトの名無しさん2014/05/04(日) 15:38:30.98ID:Fi2TCAxj
上下は top/bottom のかわりに upper/lower を使うのも見たことある。
0296デフォルトの名無しさん2014/05/04(日) 15:46:40.57ID:n8bRVLF6
方角使ったの見たことあるな。
左上はnwとか、右下がseとか。
ただ、評判は悪い方が多かったな。
0297デフォルトの名無しさん2014/05/04(日) 15:58:45.46ID:M/fXRR5a
まあ、左上、右下とかで十分なところに、北西とか南東とか言っても分かりやすくはならないからなぁ
0298デフォルトの名無しさん2014/05/04(日) 16:14:17.24ID:/8HFkyur
タブレットみたいに画面が回転するデバイスであれば、
絶対的な東西南北と相対的な上下左右という
二種類の命名を意識して使い分ける必要があると思う

ただし、一般的なJSプログラミングであれば>>294で十分
02992932014/05/04(日) 18:18:25.80ID:Qr2Jhwpy
みなさんありがとう
半径rみたいに決まった文字とかあるかと思ったんですが、特に無さそうなんで>>294使わせてもらいます
0300デフォルトの名無しさん2014/05/04(日) 20:06:37.81ID:CnsXC7Sg
十分に狭い範囲でなら、t/b/l/rくらいだと説明なしに出てくるかもなー
0301デフォルトの名無しさん2014/05/05(月) 11:53:12.10ID:Mu2ScZdD
ビットマップの中の1の数を数えるメソッド、0を数えるそれを教えてください。
0302デフォルトの名無しさん2014/05/05(月) 14:36:02.42ID:vEoyNxMN
count_ones
count_zeros
0303デフォルトの名無しさん2014/05/06(火) 23:57:11.60ID:sL8fKPSd
関数での計算結果はcomputationって単語使うのが適切ですか?
もっと適切な名前はありますか
0304デフォルトの名無しさん2014/05/07(水) 00:03:15.59ID:GRjLr4h4
>>303
とりあえずvalue
何の計算結果か特定できるなら、それとわかる名前がいい。
0305デフォルトの名無しさん2014/05/07(水) 00:05:11.61ID:bFoGw102
result
0306デフォルトの名無しさん2014/05/07(水) 00:10:53.69ID:9YkH6KpU
var result = ...;
return result;ってやりがちな俺
0307デフォルトの名無しさん2014/05/07(水) 00:13:08.76ID:bcucIi7c
result 最終状態。〜その結果として。結果が…となる。
>>305 適切っぽい。ありがとう
0308デフォルトの名無しさん2014/05/07(水) 00:46:45.31ID:ww08WxpS
>>307
で、数か月後に自分のコード見て「結果って何の結果だよ(ムキー」ってなるの巻。

>>304の言うとおり、戻り値を受ける側の変数の名前であれば戻り値の意味の名前をつける方が
適切だと思うけど。

値を返す側で戻り値を入れる変数の名前であればretとかで十分。
0309デフォルトの名無しさん2014/05/07(水) 00:50:13.42ID:n0BPcJ7e
>>306
>>308
その用途ならrvをよく使うわ。retってのはどうもこそばゆい
Return Value の略なのか Value of Result なのか知らんけど
int rv = ...;
return rv;
0310デフォルトの名無しさん2014/05/07(水) 05:03:21.93ID:nyTYPDB6
>>308
これから戻す値にresultを使うのはDelphi流じゃね?
あの言語はresultに代入した値が返される仕様だし
0311デフォルトの名無しさん2014/05/07(水) 06:19:35.17ID:2wVYcLHM
>>303
関数名と同じか似たもの。
0312デフォルトの名無しさん2014/05/07(水) 06:44:31.76ID:aKLx6ZH2
関数内の戻り値ならResult
単純な同じ種類の数値の合計とかならSumとかTotalとか

関数から受け取る値ならその値の意味する名前
0313デフォルトの名無しさん2014/05/07(水) 06:57:33.46ID:sWKK4Euk
>>308
ならんだろ、なんの結果かわからんようになりそうなら関数仕様なりコメントなり入れるし
0314デフォルトの名無しさん2014/05/07(水) 07:01:01.27ID:bcucIi7c
>>311
天才
0315デフォルトの名無しさん2014/05/07(水) 07:19:32.82ID:bcucIi7c
ついでなんでコストの日本語教えてくれー
意味的には「いちいちかかる費用」みたいな感じ
0316デフォルトの名無しさん2014/05/07(水) 07:51:58.45ID:VjouCf5b
overhead か
cost
0317デフォルトの名無しさん2014/05/07(水) 08:39:55.89ID:FZZA6k3k
RunningCost
0318デフォルトの名無しさん2014/05/07(水) 08:49:54.47ID:lc26ma19
日本語か…
もちょっと文脈が欲しい
0319デフォルトの名無しさん2014/05/07(水) 08:54:52.28ID:9YkH6KpU
>>309
それいただき
0320デフォルトの名無しさん2014/05/07(水) 09:23:30.02ID:aFwzCm3Y
うろ覚えだけど、リーダブルコード的には、retだのretvalだのは避けろって書いてなかったっけ?
0321デフォルトの名無しさん2014/05/07(水) 10:23:40.79ID:edkmu5YG
関数名と同じでint mainを作ったらwarning: 'main' is usually a function [-Wmain]だって。
0322デフォルトの名無しさん2014/05/07(水) 10:33:28.39ID:2wVYcLHM
>>321
mainの戻り値で計算結果返すなよ。
0323デフォルトの名無しさん2014/05/07(水) 11:47:36.32ID:edkmu5YG
え?
シェルスクリプト向けなどで結果は返すぞ?w
0324デフォルトの名無しさん2014/05/07(水) 14:49:20.58ID:2wVYcLHM
正常終了かエラーコードでなくて計算結果を?
それを置いてもmainとかで計算を行わずに、別関数にすべきだと思うが。
もっとも最初から、言語依存の予約語や制約、名前空間、コーディング規約を考慮して、"同じか似たもの"と書いてあるけどな。アンダースコアでもつけとけよ。
ちなみに自分では適切な名前毎回考えてる。VBみたいでイヤだから。
0325デフォルトの名無しさん2014/05/07(水) 15:24:31.43ID:n0BPcJ7e
>>320
関数名から返却値の性質は自明なんだけど、スコープ終端に資源解放があって結果を保留しておかなきゃいけない場合に使う
RAIIが徹底してる言語であれば任意にreturnできるからあまりこういう変数いらないんだけどな
0326デフォルトの名無しさん2014/05/07(水) 16:40:16.47ID:NpxBbooR
resultに統一だな。関数名に引きずられる名前は文脈で意味が変わって読み辛いよ
mainに限ればexitcodeでもいいが
0327デフォルトの名無しさん2014/05/07(水) 17:19:05.56ID:v8XT9GT6
>>320
リーダブルコードの例で出てくるダメなresultは、
最後が return Math.sqrt(result); になっている特殊なケース。
これは変数resultが関数の結果ではないから混乱する。

こういうケースでないならresult使ってもいいと思う。
0328デフォルトの名無しさん2014/05/07(水) 17:49:15.46ID:mpbwymho
呼び出す関数の戻り値ではなく、
自分を含むブロックを関数としたとき、その戻り値ってことなのね
0329デフォルトの名無しさん2014/05/07(水) 23:26:12.35ID:f43fXs2r
booleanの変数名や関数名の接頭語にisを付ける風潮あるじゃん。
インスタンスフィールドやインスタンスメソッドになら良いと思うのだけど、
ローカル変数やstaticメンバーにまでis付いてるの見かけてキモい。
主語の無いis…
0330デフォルトの名無しさん2014/05/07(水) 23:48:28.93ID:9YkH6KpU
JSなら全部thisだから問題ないな!
0331デフォルトの名無しさん2014/05/07(水) 23:54:50.52ID:n0BPcJ7e
>>329
booleanは'f'接頭辞で統一してるな。'b'でもいいけどさ
システムハンガリアンなんて糞くらえだが能動態で表現しないとどうにもならないフラグって結構あるから
is~の命名にいちいち頭悩ますのはいやだ
0332デフォルトの名無しさん2014/05/07(水) 23:59:06.89ID:9YkH6KpU
has使ってもいいのよ
0333デフォルトの名無しさん2014/05/07(水) 23:59:11.54ID:cMom8c9/
>>315
ああ、日本語か...
連続的にかかるなら運用費用 とかかな。
スポット保守費みたいな奴なら 都度費用 とかぐらいしか思い付かん。
0334デフォルトの名無しさん2014/05/08(木) 00:04:51.42ID:od3Ldiu5
>>332
これから〜するぞ、っていうフラグはどういう名前つけるの?
0335デフォルトの名無しさん2014/05/08(木) 00:11:32.59ID:TVCEdFQe
can〜
0336デフォルトの名無しさん2014/05/08(木) 00:19:41.04ID:3uesuF+X
>>327
今思い返してみたら結構そのパターンやってるわ…
0337デフォルトの名無しさん2014/05/08(木) 00:39:06.13ID:MYrg8Jhx
>>329
その場合、第一引数が主語と考えれば良いんじゃね
0338デフォルトの名無しさん2014/05/08(木) 01:22:59.85ID:gVOrgIvu
>>337
そういう読む側が歩み寄らなきゃいけない名前は嫌だなー
何にでもis付けて、結局型を表してるだけのものになってしまったら、
実質システムハンガリアンみたいになってくるってのもきもいし。
isの意味はどこに行ったんだーってね
0339デフォルトの名無しさん2014/05/08(木) 02:54:45.19ID:iYzmgXRT
>>333
運用費か。
冷蔵庫を買うとする。寿命は10年なので、120ヶ月持つ。
原価がかかって電気代もかかってメンテナンス代もかかるとする。
全部合計して、120で割ると一ヶ月分のコストが出てくる。

これが3000円だとする。
この3000円に日本語の名前をつけないとならない。
0340デフォルトの名無しさん2014/05/08(木) 03:40:09.39ID:oGu9Ywqg
>>334
set〜State
>>329
排他などでHoge.is〜State?
0341デフォルトの名無しさん2014/05/08(木) 03:55:22.70ID:od3Ldiu5
>>335
bool addsMargin;
みたいに3単現のsつけるっていう流儀もあって結局悩むことになるんだよなあ
0342デフォルトの名無しさん2014/05/08(木) 04:55:47.42ID:TVCEdFQe
あー、〜ableってのは使うかも
0343デフォルトの名無しさん2014/05/08(木) 07:06:53.63ID:kvSwmeeY
>>339
冷蔵庫代まで含むなら、経費かな
0344デフォルトの名無しさん2014/05/08(木) 08:52:29.14ID:X5dRpFAy
>>339
ランニングコストとか維持費で良いんじゃないの?
0345デフォルトの名無しさん2014/05/08(木) 09:16:24.48ID:Yajv3evl
月あたりコスト コスト毎月 コスト(月額)
例:20km/h -> 20km毎時
0346デフォルトの名無しさん2014/05/08(木) 12:05:27.10ID:OHs+q7mk
色々な金を合計してるなら、費用としか言いようがないんじゃないか?
0347デフォルトの名無しさん2014/05/17(土) 13:16:26.52ID:18igEiY0
htmlのtitleタグの中身を取得する関数名で悩んでます。
getTitle(html), extractTitle(html) とか考えたんですがしっくりきません。
いい名前はないでしょうか
0348デフォルトの名無しさん2014/05/17(土) 13:37:38.30ID:xUIr72T7
html.head.title();
0349デフォルトの名無しさん2014/05/17(土) 14:09:28.32ID:g/LugQB1
gettle
0350デフォルトの名無しさん2014/05/17(土) 14:35:46.06ID:/wPndJU8
pick up
retrieve
find
0351デフォルトの名無しさん2014/05/18(日) 05:58:07.12ID:UqGH8+5G
search
lookup
0352デフォルトの名無しさん2014/05/18(日) 06:32:49.10ID:ZUzVYIGO
new Document(html).getTitle()

関数ではないか。
0353デフォルトの名無しさん2014/05/18(日) 09:13:36.01ID:xPqPYAXW
メソッドを実装するクラスの役回りによって名づけ方が変わると思うんだな。
0354デフォルトの名無しさん2014/05/18(日) 15:19:36.46ID:sw3cv+Zt
>>353
俺も思った
HTML 系のクラスじゃなかったら、getTitle だと何のタイトルを取るのか分かんないから getHtmlTitle とか
0355デフォルトの名無しさん2014/05/18(日) 16:46:37.79ID:ZUzVYIGO
Documentのtitleだろう。
クラスを"関数を行う機械"みたいに考えてるとそうなっちゃうのかもだけど。それはそこの文化次第か。
0356デフォルトの名無しさん2014/05/19(月) 20:50:20.38ID:xlvr7GFL
ドキュメントに決まったタイトルがあるならTitleプロパティだよぬ
プロパティのない言語ならgetとかつけるんだろうけど
0357デフォルトの名無しさん2014/05/20(火) 09:55:56.84ID:FWxzHtTB
数値が指定した最小値、最大値の範囲に収まるかを調べるメソッド名は何がいいですか?
0358デフォルトの名無しさん2014/05/20(火) 12:01:55.30ID:94D84veD
そんなメソッドいるのか?
0359デフォルトの名無しさん2014/05/20(火) 13:23:52.03ID:V4tAqkoY
欲しいと思う時はあるな
[x, y]にするか[x, y)か(x, y)かで悩み、
結局直接書いて終わる
0360デフォルトの名無しさん2014/05/20(火) 14:00:18.56ID:8WR+pTUq
アルファベットって64文字くらいあれば単語とか短くなってすげぇ便利だったのにね

どうでもいいけど、最近自分専用のスクリプトだと漢字を使うことがある
ここ数年UTF脳になってきたのか気にならなくなってきたと言うか、漢字が美しいと思うようになってきた

プログラムでも(簡単に出来る場合は)わざわざデータ名を漢字で扱えるように工夫してみたり。

10年前なら批判の雨嵐で、20年前なら「???」みたいな反応されて、
今なら、やや変な目で見られるくらい
0361デフォルトの名無しさん2014/05/20(火) 14:17:57.85ID:EzdvYWDi
>>359
閉区間限定なら、ContainsとかClampといったメソッドを持つClosedIntervalみたいなクラスを
作るのも場合によっては有用かも、というか昔やったことがある。
0362デフォルトの名無しさん2014/05/20(火) 15:30:04.48ID:FqGwI+0M
MIN <= x <= MAX
0363デフォルトの名無しさん2014/05/20(火) 15:33:48.41ID:94D84veD
MIN <= x && x <= MAX を
x >= MIN && x <= MAX て書く人キライ
0364デフォルトの名無しさん2014/05/20(火) 17:35:33.05ID:7I4ys7NV
>>360
アルファベットも昔に比べて増えてるんじゃないの。これから増えるかもよ。ASCIIコードでは増えないだろうけど。
>>362
pythonか。
0365デフォルトの名無しさん2014/05/20(火) 20:03:27.94ID:JHroLS6/
>>357
IsBetween
0366デフォルトの名無しさん2014/05/20(火) 20:33:22.94ID:8WR+pTUq
いやA-Zまでしかないからw
変数や関数にも漢字使うって意味だぜ

ASCIIじゃなくていいならアラビア文字でも漢字でも象形文字でも・・・
ただしローマ字、お前だけは認めん。ASCIIでも認めん。
0367デフォルトの名無しさん2014/05/20(火) 22:34:38.53ID:6ibk+cUe
>>357
within だったと思う。
in_range() もよいよね
0368デフォルトの名無しさん2014/05/20(火) 23:54:27.03ID:/zZE4L8n
>>365
I prefer "InBetween"
0369デフォルトの名無しさん2014/05/21(水) 01:49:29.39ID:W2g5L2xs
>>357
In( )
0370デフォルトの名無しさん2014/05/21(水) 02:00:50.12ID:zRWlqSPr
IsIn
0371デフォルトの名無しさん2014/05/21(水) 21:59:00.59ID:By3uWb7U
>>368
なんだその重箱は
0372デフォルトの名無しさん2014/05/21(水) 22:08:10.70ID:lAoDIlqk
>>371
"is in between" (ダブルクォート付き)でググれ
0373デフォルトの名無しさん2014/05/21(水) 22:30:49.66ID:By3uWb7U
>>372
だいぶ真ん中のことを指すみたいだけど
0374デフォルトの名無しさん2014/05/21(水) 22:42:45.77ID:2m6TKtRx
betweenはニュアンスが違うんじゃね?
Rubyだと
Range#include?
Range#cover?

p (0.1 .. 0.2).member?(0.15) # => true
0375デフォルトの名無しさん2014/05/22(木) 08:16:33.07ID:ap8tg97M
やっぱRuby は汚いな。記号系言語なくなって欲しいわ
0376デフォルトの名無しさん2014/05/22(木) 12:24:27.70ID:TFAWZMIx
記号系?
0377デフォルトの名無しさん2014/05/22(木) 15:26:41.78ID:/fnIWJ4j
数字があれば数字を表示したボタンを表示、0ならボタン自体表示しない、
という処理はなんという関数名がいいでしょうか?
viewHogeやshowHogeだと、0なら表示しないというニュアンスがないので間違えやすいです
0378デフォルトの名無しさん2014/05/22(木) 15:52:34.70ID:W7u09vVN
>>366
昔はJとかUとかなかったって話。
0379デフォルトの名無しさん2014/05/22(木) 18:33:47.14ID:ifR7mYv4
>>377
まず何言ってるのか人に伝わるような質問文を書かないと誰も回答しようがないと思うよ。
率直に言って何言ってるのかさっぱりわからん。
0380デフォルトの名無しさん2014/05/22(木) 20:30:47.52ID:f9nw6pOH
ShowHogeUnlessZero
0381デフォルトの名無しさん2014/05/22(木) 23:42:29.53ID:cb5GmodY
honeNonzeroButton
0382デフォルトの名無しさん2014/05/23(金) 00:34:41.72ID:MmgPEE2U
>>377
Button表示とその判定を分けたらいいんでない?

ShowNumberedButtonとCanShowNumberedButton
0383デフォルトの名無しさん2014/05/23(金) 00:41:26.11ID:gA8NAXmG
>>377
そんな特殊な処理に名前つけても一年もたたないうちになんだこれ?ってなると思うよ。
素直にドキュメントなりコメントちゃんと書いとけ
0384デフォルトの名無しさん2014/05/23(金) 00:59:58.27ID:fx7mUsAj
>>377
showAvailableButton
0385デフォルトの名無しさん2014/05/27(火) 00:43:40.99ID:+73eA8YR
自分自身の実行ファイルの情報を読み取るモジュールの名前、何がいいですか?
Windowsのwinternl.hやLinuxのlink.hをラップするやつ
0386デフォルトの名無しさん2014/05/27(火) 01:23:52.49ID:8crr5LnX
ApplicationInfo
WhoAmI
0387デフォルトの名無しさん2014/05/27(火) 11:01:18.91ID:MG+zHjTE
ReadMe
0388デフォルトの名無しさん2014/05/28(水) 19:19:35.40ID:wWBPFMBN
>>385
Spy++
0389デフォルトの名無しさん2014/05/30(金) 10:39:37.09ID:5UIEmL2b
変数名でペアで用いるもの、例えば
start/end
begin/end
width/height
top/bottom
up/down
left/right
first/last
など使うことが有りますが、単語の文字数が違うとエディタの画面で文字がずれて見づらいですよね。
なので、私は
sta/end
width/heigh
lef/rig
などと略す事が多いのですが、これは邪道ですか?
0390デフォルトの名無しさん2014/05/30(金) 11:00:54.37ID:oLtoKeIF
邪道というより愚か
0391デフォルトの名無しさん2014/05/30(金) 11:07:19.13ID:x2XoBkJL
それは変だ。
次ぎにくる演算子のインデントを合わせた方がきれい。
0392デフォルトの名無しさん2014/05/30(金) 17:28:28.31ID:gbiR2Oa0
字数を合わせるより単語を省略しないでいてくれたほうが遥かに読みやすいだろ

あと、可変幅フォントの時代になにやってんだという感も
いや俺もコーディングは流石に固定幅でやるけど
0393デフォルトの名無しさん2014/05/30(金) 17:39:50.38ID:T47neq/Y
関数内のローカル変数をhogehogeとfoo_____みたいに、削るんではなく付け足す方向で文字数調整したことはある
0394デフォルトの名無しさん2014/05/30(金) 18:09:07.58ID:paDuAmJK
>>389
英語を見づらいと思うなら
日本語表記にした方が100倍マシ
0395デフォルトの名無しさん2014/05/30(金) 18:24:59.73ID:ZEJ00XNR
C#なんかで最近見るけど、日本語変数名は和語と漢語があるあたり混沌とする
うまく使い分ければ読みやすくなりそうだけど
0396デフォルトの名無しさん2014/05/30(金) 22:06:11.24ID:0JkCHEZq
>>389
マジでありえん
lefとrigをLeftとRightと直ぐに理解できると思えん
0397デフォルトの名無しさん2014/05/30(金) 22:25:36.92ID:n9pxH6sn
揃えたい人はExcelでコーディングしてればいいよ。
0398デフォルトの名無しさん2014/05/30(金) 23:01:20.75ID:yQd3fdGq
クソみたいな略し方されるなら
クソ長い関数名つけてくれる方が幾分ましだ
0399デフォルトの名無しさん2014/05/31(土) 15:35:13.32ID:zFUx4+MP
yyyy/MM/dd HH:mm:ss
形式と
MM/dd HH:mm
形式の、それぞれの名前は何がいいでしょうか?
上はdatetimeでいいかと思うのですが下は何でしょう?
0400デフォルトの名無しさん2014/05/31(土) 15:46:28.53ID:lYWWaR2/
>>399
毎度のことだけど背景情報が分からないと名前なんか付けられんよ。
そもそも選択肢がそれほどにも多いから、書式を文字列で指定するんでしょ違うの?
選択肢がその2つのみならDetail/Simpleとかでいいと思うけど。
0401デフォルトの名無しさん2014/05/31(土) 15:54:41.73ID:TZsvVF7J
>>399
むしろ上のにdatetimeなんてメジャーな名前与えちゃうのが問題かとw
ふつうは>>400さんみたいに、使われ方で名前つけときゃ普通は十分っしょ。
0402デフォルトの名無しさん2014/05/31(土) 19:23:00.48ID:20aPYxUh
YaMaDa HaMuS 山田ハムス
MeDe HiMe めで姫
0403デフォルトの名無しさん2014/05/31(土) 19:33:44.70ID:YBy0N6JJ
>>402
グイと言われて何だろうと悩むくらいに暗号だな。
0404デフォルトの名無しさん2014/05/31(土) 20:40:58.66ID:9VlbAaXB
Javaで日時フォーマットに用意されているいくつかの書式の名前
http://docs.oracle.com/javase/jp/7/api/java/text/DateFormat.html

ベストではないだろうけど、汎用で付けるならこの程度の付け方にしかならんだろうとは思う。
0405デフォルトの名無しさん2014/05/31(土) 21:03:24.68ID:0AU3V8Hb
>>399
FMT_yyyyMMdd_HHmmss
FMT_MMdd_HHmm
0406デフォルトの名無しさん2014/06/01(日) 15:40:25.10ID:COvhUFIg
yymmddだから山田とか一番やっちゃいけないやつじゃん
0407デフォルトの名無しさん2014/06/01(日) 17:23:48.01ID:BW6NGA6s
>>399
フォーマットに名前ってピンと来ないけど
アメリカ表記、イギリス表記、日本表記とかあるから
それに加えて、Normal、Simpleってな感じでいいんじゃないかな?

EnglishNormalFormat
0408デフォルトの名無しさん2014/06/01(日) 22:58:28.79ID:8ZnAvLvS
標準フォーマットとかショートフォーマットとか名前をつけとかないと、ここはこういうフォーマットでとか、なんでこことここのフォーマットは違うのとか、カオス状態になる。
まあ画面しか見ず注文つけてくるようなステークスホルダーがいるとどっちみちカオスだが。
0409デフォルトの名無しさん2014/06/01(日) 23:04:26.02ID:YWp+j4mw
>>405だな。そのまんまでいい。
0410デフォルトの名無しさん2014/06/02(月) 11:37:26.04ID:QdddxbiG
enum FolderOrFile
{
 FOLDER,
 FILE,
}
ファイルやフォルダを操作するアプリで、処理の対象が今どちらか
を示す場合、どんな名前が良いでしょうか?
とりあえず考えたFolderOrFileではちょっと変だから、もう少しカッチョイイの
ありませんか?
0411デフォルトの名無しさん2014/06/02(月) 11:46:16.07ID:ZMVRbgFg
OperationTarget なんかどうだ。
0412デフォルトの名無しさん2014/06/02(月) 12:46:40.99ID:PNlYG0e7
UNIX的にはこれ

enum FileType
{
DIRECTORY,
REGULARFILE,
}
0413デフォルトの名無しさん2014/06/02(月) 13:55:47.58ID:zPmWy0JI
>>410
typeとか
0414デフォルトの名無しさん2014/06/02(月) 15:37:16.52ID:IG+p1Dth
>>410のいう環境に限定すれば、こうかな

enum OperationType
{
 FOLDER_OPERATION,
 FILE_OPERATION,
}
0415デフォルトの名無しさん2014/06/02(月) 22:14:16.28ID:9bQ7GDrJ
>>410
> 処理の対象

TargetType かな
ファイルかフォルダーの2択なら IsFolder とかにして boolean でもいいかも
0416デフォルトの名無しさん2014/06/02(月) 22:49:45.76ID:M00kW4AW
この手の二択は、そのうちシンボリックリンク対応等が増えると相場が決まってるのでboolはやめとけ
0417デフォルトの名無しさん2014/06/03(火) 00:00:51.95ID:1Rk0qFpm
増えた時に対応すればいいだけ
0418デフォルトの名無しさん2014/06/03(火) 11:06:09.49ID:eNHxQ7Dy
みなさんありがとうございました。
412さん方式で行こうかなと思います。
0419デフォルトの名無しさん2014/06/03(火) 16:07:55.54ID:09ORhtCs
紙にかかれた漢字をカメラで読み取って部分ごとに分ける処理をしています。
たとえば「暗」という漢字であれば、日+立+日に分かれます。
それぞれの部分をImageにしてクラス化して動かせるようにしたいと思ってます。
クラス名と、これらの漢字を乗せるレイヤー名、この2つで悩んでます。
みなさんならどう名付けますか?
0420デフォルトの名無しさん2014/06/03(火) 16:31:40.49ID:JAsISDW3
2値画像のつながった領域ごとに番号をつける処理っていうのは
古くからconnected-component labelingって呼ばれてるんだよね

ってわけで、KanjiComponent
レイヤー名ってのは意味わからんけど
0421デフォルトの名無しさん2014/06/03(火) 16:42:43.95ID:QSkvbTz0
英語にしたいんだろうBushuじゃださいかw
0422デフォルトの名無しさん2014/06/03(火) 17:00:25.52ID:6toiN2Zt
Part、Piece、Shardの語句辺りが分かりやすいんじゃないかな

レイヤー名ってのが意味分からんが
描写関連は別クラスで汎用的に実装した方がいいんじゃない?
0423デフォルトの名無しさん2014/06/03(火) 17:11:29.47ID:09ORhtCs
>>422
説明抜けてました・・
iOSのアプリケーションをObjective-Cで実装しています。
Objective-Cにはレイヤの概念があって、層を積み重ねてアプリケーション画面を作っていく感じです。

今回の場合は多くの漢字オブジェクトを1枚の層の上に配置していきます。
その層の名前で悩んでいます。
0424デフォルトの名無しさん2014/06/03(火) 17:28:52.00ID:QSkvbTz0
それはそのアプリの用途とか、そのレイヤーが表示されるコンテキストとかにもよるでしょ。
設計にもよるし。それを知らない他人が名付けられるだろうか。
0425デフォルトの名無しさん2014/06/03(火) 17:39:28.61ID:BKK4B7Qn
Wikipediaの合字の項から適当な用語を借用して使うとか。
合字 = ligature、合字を構成する要素は書記素 = graphemeというらしい。
0426デフォルトの名無しさん2014/06/03(火) 17:41:00.01ID:bAxr9de0
漢字の概念を表現するのにわざわざ英単語もってくんなよ
0427デフォルトの名無しさん2014/06/03(火) 17:46:17.40ID:BKK4B7Qn
まあ確かに。
Kanji, Bushuでいいような気もする。
>>419の言う「部分」が正確に部首と一致する(一致させられる)かどうかは別にして。
0428デフォルトの名無しさん2014/06/03(火) 18:03:11.01ID:6toiN2Zt
>>423
各部首のレイヤーを重ねるその一番下の層ってな感じ?
漢字→習字→半紙って事でWritingPaperとか?
0429デフォルトの名無しさん2014/06/03(火) 18:06:44.19ID:09ORhtCs
>>428さん
WritingPaperにさせていただきます。

>>420さんや>>422さんを参考にして
PieceOfKanjiや、ComponentOfKanjiがよいと思いました。

そこで重ねて質問なんですが、
自分は変数名やメソッドにやたらof,with,to等をつけてしまいます。
はじめて覚えた言語がObjective-Cだったので、前置詞を多く含むという特徴を真似してしまっているのかもしれません。
この癖なおしたほうがいいんですかね・・・
みなさんからみて、ComponentOfKanjiとKanjiComponentだったらどっちがわかりやすいですか?
0430デフォルトの名無しさん2014/06/03(火) 18:43:45.61ID:6toiN2Zt
>>429
適切に使われているなら前置詞込みでもいいんじゃないかな
0431デフォルトの名無しさん2014/06/03(火) 18:59:36.55ID:bAxr9de0
ofと「の」は同じではない
0432デフォルトの名無しさん2014/06/08(日) 06:05:29.99ID:rirb7wrB
hoge_123のような文字列から
末尾の数字を取り出す関数の名前は何がいいでしょうか?
0433デフォルトの名無しさん2014/06/08(日) 06:14:52.32ID:MdKVr51q
suffixNumberFromString()
numberAtTheEndOfString()
0434デフォルトの名無しさん2014/06/08(日) 17:49:48.91ID:SzuXZ+3V
>>432
だから、そんな関数は汎用的に使うライブラリの関数のわけがないんだから、
そういう関数に名前を付ける時には、数字を取り出す元の文字列がその問題領域で
何と呼ばれているかとか、末尾の数字は何を意味しているのかとか、
そういうことをベースに名前を付けるんだよ。
0435デフォルトの名無しさん2014/06/08(日) 17:52:39.74ID:NS8sCIAJ
>>434
例えば?
0436デフォルトの名無しさん2014/06/08(日) 20:25:57.93ID:r/zfUrQJ
catchTheTailNumberIfYouCan()
0437デフォルトの名無しさん2014/06/08(日) 21:03:43.54ID:0+KLA+E5
>>435
横レスだけど、そのアプリケーション内で文字列がHogeName、数字がHogeIdを意味するなら
ExtractIdFromHogeNameみたいにしろってことでしょ
0438デフォルトの名無しさん2014/06/09(月) 10:05:43.22ID:CV1N0NlN
クラスの内部の配列のn番目にaの値を入れるメソッドの名前教えてください。
0439デフォルトの名無しさん2014/06/09(月) 10:29:21.59ID:L38FlVnr
setValue: atIndex:
0440デフォルトの名無しさん2014/06/09(月) 11:11:27.42ID:CV1N0NlN
>>439
すみません、コロンの意味が分かりません。
どちらかの名前を使えという意味ですか?
0441デフォルトの名無しさん2014/06/09(月) 11:20:46.61ID:L38FlVnr
いえ、そういう言語があるんですよw
setValueForArray(Var value, Var index)
0442デフォルトの名無しさん2014/06/09(月) 11:24:29.61ID:L38FlVnr
こっちの方がいいか
setValueAtIndex(Var value, Var index)
0443デフォルトの名無しさん2014/06/09(月) 11:24:40.49ID:3yPDwV3m
javax.swing.table.TableModel

getValueAt(int rowIndex, int columnIndex)
setValueAt(Object aValue, int rowIndex, int columnIndex)
0444デフォルトの名無しさん2014/06/09(月) 11:29:53.27ID:3wZWoZZ0
動作じゃなくて役目で名前付けた方がいいと思うぞ。
0445デフォルトの名無しさん2014/06/09(月) 11:31:49.38ID:CV1N0NlN
ではn番目の素数にaという値を与えるという役目なら
どうなりますか?
0446デフォルトの名無しさん2014/06/09(月) 11:35:36.96ID:L38FlVnr
>>444
その哲学を教えてくれ。
俺の場合大体動詞になる。add〜, remove〜, close〜, update〜,,,

>>445
setPrimeAtIndex(a, n)
0447デフォルトの名無しさん2014/06/09(月) 11:39:33.00ID:CV1N0NlN
>>446
いや、素数はセットしないです。
セットするのは値です。
0448デフォルトの名無しさん2014/06/09(月) 11:48:49.24ID:3wZWoZZ0
>>446
いや、動詞なのは同じだけど、何のためにクラスの内部の配列のn番目にaの値を入れるのかってこと。
って、ユーティリティやフレームワークの場合はそれ自体が役割だったりするか。
0449デフォルトの名無しさん2014/06/09(月) 11:53:24.47ID:L38FlVnr
>>448
なるほど
0450デフォルトの名無しさん2014/06/09(月) 11:55:57.83ID:CV1N0NlN
>>448
では、教えてください。
0451デフォルトの名無しさん2014/06/09(月) 14:22:18.84ID:rNmHPgTr
>>438
だから、そういうのはそのクラスが1次元配列をラップした単純なコレクション的な物か否かで
話がまったく違ってくる。

前者なら単純にsetAtで何を意味するか十分に分かるはず。
後者ならset○○Atとか(setKeyAtとかsetValueAtとか)でいいんじゃないか。
0452デフォルトの名無しさん2014/06/09(月) 14:27:08.31ID:CV1N0NlN
>>451
じゃあ、○○が1から0の間の値ならどうなりますか?
0453デフォルトの名無しさん2014/06/09(月) 14:58:54.62ID:rNmHPgTr
>>452
だから、名前を付ける時に一般的に重要なのは、それがどういう機能を果たすか
(1から0の間の値をとる)じゃなくて、それが何を意味しているかだってば。

生徒の成績を処理するプログラムを作ってるとして、生徒の点数を入れる変数の名前を、
あんたはそれが0から100の値をとるという機能面に注目して付けるのかよ。
普通はそんなことしないでしょ。

点数は素直に点数(score)にするのがいいに決まってる。
0454デフォルトの名無しさん2014/06/09(月) 15:13:36.05ID:CV1N0NlN
では点数の計算方法が
a[0]*2+a[1]*3+a[2]*5+a[3]*7・・・・
という計算式だとしましょう。
このときa[0]に0から1の値を入れる関数名をよろしくお願いします。
0455デフォルトの名無しさん2014/06/09(月) 15:18:34.82ID:rNmHPgTr
まともに相手して損した。
0456デフォルトの名無しさん2014/06/09(月) 15:19:12.19ID:CV1N0NlN
逃げるんですか?
卑怯者ですね。
0457デフォルトの名無しさん2014/06/09(月) 16:08:45.99ID:vNXU4y0v
>>456
お前は基地外
0458デフォルトの名無しさん2014/06/09(月) 16:16:28.20ID:ihFgJRd/
こういう手合いからは逃げたほうが賢明w
0459デフォルトの名無しさん2014/06/09(月) 16:51:36.10ID:Kzf8zYPT
それを計算してなにがしたいのかを書けよ
0460デフォルトの名無しさん2014/06/09(月) 17:10:49.49ID:zNsk9buo
聞くだけ無駄だと思う
0461デフォルトの名無しさん2014/06/09(月) 18:24:19.90ID:3TQ4mVIN
>>454
sineKitigaiMajide
俺ならこうするね
0462デフォルトの名無しさん2014/06/09(月) 23:34:35.15ID:Qwtl9BZW
なんかワロタw
0463デフォルトの名無しさん2014/06/10(火) 21:51:58.71ID:fz5L4EFg
サーバーにJSON で↓こういうデータを送って、

"key" : [ {"tag":"aaa", "xxx":"2014-06-10 00:00:00"},
{"tag":"bbb", "xxx":"2014-06-11 12:00:00"} ]


タグが"aaa"で、作成時刻が"2014-06-10 00:00:00" 以降のデータと
タグが"bbb"で、作成時刻が"2014-06-11 12:00:00" 以降のデータを返してもらうみたいなことを
やろうと思ってるけど、更新時刻のところはどうすればいいですか?

last-update とかでおかしくないですかね。
0464デフォルトの名無しさん2014/06/10(火) 22:57:27.84ID:YgRO9Ju8
>>463
modified-dateとか
0465デフォルトの名無しさん2014/06/10(火) 23:13:20.00ID:vyxnhgel
>>464
時分秒を含んでるんだから
modified-Timeのほうが良くね?
0466デフォルトの名無しさん2014/06/10(火) 23:19:06.68ID:RNvJu31l
>>463
last-modifiedか、たんにmodified
0467デフォルトの名無しさん2014/06/10(火) 23:34:36.24ID:YgRO9Ju8
>>465
どうだろう
日付がメインだと思ったからdateにしたんだけどね
純粋に>>466の案でいいかもね
04684632014/06/10(火) 23:37:26.03ID:fz5L4EFg
これは一つのリソースを更新するイメージじゃなくて、どんどんデータがたまっていく
感じだから、updateとかmodifiedはちょっとニュアンスが違うかなって気がしてきた。

指定した日時以降に作成されたデータを欲しいって意味だから、afterなんとか みたいな感じかな。
単純にAfterじゃおかしいかな。
0469デフォルトの名無しさん2014/06/10(火) 23:40:35.80ID:wn3qrgEs
laterとかじゃね?
0470デフォルトの名無しさん2014/06/10(火) 23:49:16.67ID:YgRO9Ju8
>>468
それなら単純にrecorded-dateとか
もっと単純にdateでいいんじゃないかな
0471デフォルトの名無しさん2014/06/10(火) 23:54:06.57ID:RNvJu31l
afterでいいんじゃない?いやならlater-than
0472デフォルトの名無しさん2014/06/11(水) 00:41:12.37ID:XhhI20ZP
全体的によく理解できないから意図を誤解してる可能性があるが、

time index
reference time
marker time

こんなところ?
0473デフォルトの名無しさん2014/06/11(水) 02:45:39.81ID:twHmyEQU
>>468
ならば
ObtainedTime
は、どうよ?
0474デフォルトの名無しさん2014/06/11(水) 07:45:18.46ID:L811R82x
FromDateTime ではどうか
0475デフォルトの名無しさん2014/06/11(水) 10:10:02.63ID:XoYtIn/x
find(1)の-mtimeに合わせてmodified time。
0476デフォルトの名無しさん2014/06/11(水) 15:31:36.49ID:rn+luTK4
英語を省略形にする法則ありますか?
0477デフォルトの名無しさん2014/06/11(水) 15:59:53.84ID:hb+11Efs
>>476
ない。慣習がすべて。
勝手に省略したら何だこれってなるだけ。
0478デフォルトの名無しさん2014/06/11(水) 19:58:25.89ID:DIlpG9mK
>>468
since とかどう?
0479デフォルトの名無しさん2014/06/11(水) 21:48:50.44ID:2HgNKpGn
i18nみたいな省略形すき
0480デフォルトの名無しさん2014/06/13(金) 05:45:55.16ID:/VlyhTqk
データを
・書き込み済
・未書き込み
の2値を表すenum名とメンバー名を考えてくれ
0481デフォルトの名無しさん2014/06/13(金) 07:11:20.83ID:zOs/dnAn
writing state
saving state
recording state

done
undone
complete
incomplete
0482デフォルトの名無しさん2014/06/13(金) 08:23:25.60ID:FXPBecSL
>>480
data_state_t
data_written_t

WRITTEN, UNWRITTEN
0483デフォルトの名無しさん2014/06/13(金) 08:27:03.79ID:xJKqrEJ+
「どこに」書き込むのかで別の候補もあるかも
0484デフォルトの名無しさん2014/06/13(金) 11:42:17.61ID:0evDywDN
なぜboolで済むものをわざわざenumにする。
0485デフォルトの名無しさん2014/06/13(金) 14:12:52.96ID:EenKQuR3
将来2値でなくなりそうなものや意味がとりづらいものはenumで読みやすいようにするって流派がある
0486デフォルトの名無しさん2014/06/13(金) 14:30:23.69ID:NZ+xhzlu
>>484
引数に使うときにTRUEとかFALSEじゃリーダブルじゃない
0487デフォルトの名無しさん2014/06/13(金) 14:38:17.01ID:MfoWKRoy
aを継承したのを
baあるいはa2
caあるいはa3
baを継承したのを
cbaあるいはb2a
dbaあるいはb3a
cbaを継承したのを
ecbaあるいはc2baあるいはc2b2a
fcbaあるいはc3baあるいはc3b2a
のように名前を付けていってるんですけどだんだん複雑になって
わけがわからなくなります。
どうしたらいいですか?
0488デフォルトの名無しさん2014/06/13(金) 14:49:54.58ID:R3dTOub1
>>487
深すぎる継承は何も生みはせん
0489デフォルトの名無しさん2014/06/13(金) 14:51:32.94ID:jvq4ZtjN
継承機能を使いすぎ
基本的に、継承を使うよりも複数のオブジェクトを組み合わる方がよい
0490デフォルトの名無しさん2014/06/13(金) 14:57:58.57ID:YStt/tH1
CA1501: 継承を使用しすぎないでください
http://msdn.microsoft.com/ja-jp/library/ms182213.aspx

原因
型が、その継承階層内の 5 つ以上深いレベルにあります。

規則の説明
深いレベルで入れ子にされた型の確認、理解、および保守は困難です。 この規則は、分析を同じモジュール内の階層に限定します。

違反の修正方法
この規則違反を修正するには、継承階層内でより浅いレベルの基本型から型を派生させるか、中間の基本型をいくつか削除します。
0491デフォルトの名無しさん2014/06/13(金) 15:09:44.14ID:EenKQuR3
>>488
失礼な。バグぐらい生むだろ
0492デフォルトの名無しさん2014/06/13(金) 16:12:36.56ID:hVx0IEJz
本当にその階層が適切ならガンガンやったらいい、適切ならな
GUIなんかどんなに削っても(適切な分割のほうを優先するなら)10段ぐらいになりかねないし

で、c3b2aなんて連番な名前にせずに、そのものが表している対象の名前をズバリ付ければいいんじゃないでしょうかねえ…
0493デフォルトの名無しさん2014/06/14(土) 01:02:09.25ID:SwBFDyk2
どっかの国では、自分の名前に父親の系譜の名前が
5世代分くらいくっついてるんだとか。
0494デフォルトの名無しさん2014/06/19(木) 17:38:24.27ID:haIggXKs
Modelクラスを継承したクラスで
Modelクラスのsaveメソッドを持たない(例外を投げるようにオーバーライドした)クラスのいい名前ないでしょうか
0495デフォルトの名無しさん2014/06/19(木) 18:40:40.85ID:E0/N/APc
>>494
ShortLivedModel
0496デフォルトの名無しさん2014/06/19(木) 19:34:09.65ID:inPorKag
>>494
UnsaveableModel
SaveNotImplementedModel

っていうか、普通名前を付ける時に重要な情報は、saveメソッドを未実装にする動機。
名前を付ける時に、普通は「○○が未実装にしました」なんてところに着目しません。
0497デフォルトの名無しさん2014/06/19(木) 21:33:26.71ID:E0/N/APc
>>496
隠蔽されてるなら有りだと思う。
Model b = Models.temporary(a)
0498デフォルトの名無しさん2014/06/19(木) 23:38:22.76ID:C2fFQ8Fs
>>494
ModelWithoutSave
0499デフォルトの名無しさん2014/06/21(土) 03:18:37.29ID:ju+mEPBI
>>494
俺なら>>496の SaveNotImplementedModel を採用するけど。

他に挙げるとすれば NotAbleToSaveModel とか、これを省略して NatsModel とか
0500デフォルトの名無しさん2014/06/21(土) 09:38:21.69ID:KMvjaKi+
>>499
> NatsModel とか

最悪
0501デフォルトの名無しさん2014/06/21(土) 10:07:44.73ID:4Db89jJs
普通は派生先でsaveを禁止するのではなくて、
saveメソッドを持たないModelが親クラス、saveメソッドを持つSavableModel(仮)が派生クラスになるのではなかろうか
0502デフォルトの名無しさん2014/06/21(土) 11:53:19.60ID:KMvjaKi+
>>501
どっちが普通かと言えば、そりゃその通り
メソッド持たないと言っても持っちゃってるから、実行時にエラーにするしかないし
今回のはできあいのクラスを利用したいとかのケースでしょ
0503デフォルトの名無しさん2014/06/25(水) 01:11:41.87ID:VDYG/4RF
ReadOnlyModel とかそういう話じゃなくて?
0504デフォルトの名無しさん2014/06/26(木) 23:19:52.41ID:QSlPFfCE
メモリにのみ存在しうるということなら ephemeral とか transient という形容になるのかも。
0505デフォルトの名無しさん2014/06/27(金) 07:56:00.16ID:Ep/G9+Xd
Inpersistent
volatile

うーん、イマイチ
0506デフォルトの名無しさん2014/06/28(土) 08:28:10.64ID:ERsLw1xU
ちょっと意味が変わってしまうけど
impermanentModelとか
0507デフォルトの名無しさん2014/06/28(土) 13:24:29.33ID:Z5Hu91SB
状態をスイッチしてするような関数名は
enable何々
disable何々
でいいですか?
0508デフォルトの名無しさん2014/06/28(土) 13:27:15.68ID:Z5Hu91SB
してするような→して状態を変えるような
0509デフォルトの名無しさん2014/06/28(土) 14:18:56.19ID:AEF3S+sx
状態の種類によるでしょ。
Start/Stop、Activate/Deactivate、Show/Hide、その他いろいろありうる。
0510デフォルトの名無しさん2014/06/28(土) 14:21:08.49ID:Z5Hu91SB
いいですか?に対して
yesかnoか、その後豆知識的な感じで答えて欲しいんですけど…
0511デフォルトの名無しさん2014/06/28(土) 14:26:19.24ID:AEF3S+sx
だから良いかどうかはケースバイケースだろう、と書いてるんだけど。
日本語不自由なら最初からそう自己紹介してくれ。
0512デフォルトの名無しさん2014/06/28(土) 14:27:23.65ID:9+P5UZB2
yenos
0513デフォルトの名無しさん2014/06/28(土) 14:33:35.09ID:Z5Hu91SB
>>511
ケースを書けば教えてくれるんですか?
教えてくれるというのなら書きますがどうします?
0514デフォルトの名無しさん2014/06/28(土) 14:38:49.95ID:9+P5UZB2
十秒後に隕石が降って来て回答できないかもしれないが、
それでもいいなら書けよ
0515デフォルトの名無しさん2014/06/28(土) 14:46:13.77ID:Z5Hu91SB
ダメもとで書きますね。
あるものがアップデートされたか調べるメドッソがクラスにあって
あるメソッドを呼び出す前にそのメソッドを実行してから呼び出すか
呼びなさないかを決めるフラグを1にする関数と0にする関数。
0516デフォルトの名無しさん2014/06/28(土) 14:49:15.42ID:9+P5UZB2
enable update check
0517デフォルトの名無しさん2014/06/28(土) 14:56:48.72ID:VmKo75W/
なんかそれ、レースコンディション疑うわ。
0518デフォルトの名無しさん2014/06/28(土) 15:48:03.20ID:cJj78OR7
フラグを外に見せずに、TryUpdateとかにして更新の必要ありならそのまま更新、更新不要ならfalseを返すみたいにするかなあ……
0519デフォルトの名無しさん2014/06/28(土) 16:06:27.85ID:Z5Hu91SB
たとえば、配列の中身を連続して読みたい時
更新されてないのは分かってるわけだから
チェックを外して読み込んでチェックを戻す的なじゃね?
0520デフォルトの名無しさん2014/06/28(土) 16:12:31.11ID:CrtvawT4
>>519
じゃね?って、本人が不確実でどうする
0521デフォルトの名無しさん2014/06/28(土) 16:28:56.26ID:cJj78OR7
>>519
そういうのは更新フラグではなくLock/Unlockみたいな名前にならね?
rwlock的にBeginReading/EndReadingとBeginWriting/EndWritingを分けてもいいし
書き換え後何らかの全体をなめる処理が必要ならEndWritingでやればいいし
0522デフォルトの名無しさん2014/06/29(日) 00:30:58.48ID:osp1rgt9
>>515
アップデートされたかどうか調べるメソッド、仮にIsUpdated()
あるメソッド、内部データに読み取りアクセスするメソッド、仮にRead()
あるメソッド、内部データに書き込みアクセスするメソッド、仮にWrite()
IsUpdated()をRead()メソッドが呼び出すかどうか決めるメソッド、←この名称
って感じかな?

Read()メソッドが絶えずIsUpdated()メソッドを呼び出し、内部データ1つに読み取りアクセスするとすると
更新されていないならIsUpdated()メソッド呼び出しの部分によりオーバヘッドが大きくなるってことだよね?
それなら一度だけIsUpdated()メソッドを呼び出し
連続した内部データを一度に読み出すReadAll()メソッドを設けるだけでいいんじゃないの
0523デフォルトの名無しさん2014/06/29(日) 04:29:29.48ID:7LScu2At
PlaylistクラスのListを格納しておくクラス名ってどう付けるのがいいのだろうか
PlayList自体にListが付いてるから付けづらい
0524デフォルトの名無しさん2014/06/29(日) 07:07:07.72ID:XqDLt3TB
>>523
何のためにPlaylistのlistが必要か、で決めればいいんじゃね?
例えば複数のPlaylistをまとめてCDに焼く機能ならCDImageのメンバーとしてPlayListのlistがある、みたいな
思いつかないならPlayListListでも特に変とは思わないけど
0525デフォルトの名無しさん2014/06/29(日) 09:23:03.90ID:cjgiIXv/
ListOfPlaylist
0526デフォルトの名無しさん2014/06/29(日) 09:33:57.98ID:N/G7sXy0
PlayLists
0527デフォルトの名無しさん2014/06/29(日) 10:09:58.19ID:Uz0xS19y
PlaylistCollection
0528デフォルトの名無しさん2014/06/29(日) 14:57:52.20ID:Sb+2xUuY
PLayListStock
0529デフォルトの名無しさん2014/06/29(日) 18:19:05.93ID:Nyf83LzW
>>523
外に晒すものじゃないはずだから汎用的なListで十分のはずのように思うけど。

もちろん普通のListでは必要な機能に過不足があるのかもしれないが、
だったらそのクラスの名前は施されたカスタマイズに基づいて命名されるべき。

最近こんな質問ばっかりだけど、ひょっとして誰かわざとやってんのかこれ。
0530デフォルトの名無しさん2014/06/29(日) 19:07:05.74ID:7LScu2At
>>524-529
ツリー表示した時に
-PlayLists
-PlayList
だと見づらいし
PlayListListだと違和感があったから聞いてみた
PlayListCollectionがしっくり来たからこれにするよ
ありがとう
0531デフォルトの名無しさん2014/06/30(月) 20:18:40.31ID:2hsL6C1p
FuckPlayList
0532デフォルトの名無しさん2014/07/17(木) 08:11:13.40ID:CZa/WX0I
並べ替えした順番を格納して次回も同じ順番で表示させるために使用する変数名というかDBのフィールド名でいいものありませんか?
orderとかnumberだと依頼内容や番号を格納するフィールドとかぶってしまうので使い勝手が悪くて困ってます
0533デフォルトの名無しさん2014/07/17(木) 09:10:23.37ID:Yyd192JZ
>>532
sortorder, sortingorder
0534デフォルトの名無しさん2014/07/17(木) 11:53:09.32ID:TIiO0iUw
DisplayOrder

DBなんかまったく素人だけど、どう考えてもViewでしか使わない値をデータ本体に
持たせるって最悪のド素人設計じゃないのか。
0535デフォルトの名無しさん2014/07/17(木) 12:02:22.45ID:+37EBU2h
>>534
ユーザごとのプリファレンスとして、最近どうソートしたかってのは覚えておくといいこともあるよね
0536デフォルトの名無しさん2014/07/17(木) 12:16:55.44ID:CZa/WX0I
社員とか支店の並びは微妙な力関係があるから単純に並び方決められないのよ
住所コード別の並びとかにすると「うちの支店が○○支店より下なのはどうなんでしょうか」とか言われたりする
結果としてなんの法則性もない昔からの並び順に合わせないといけない
0537デフォルトの名無しさん2014/07/17(木) 12:22:11.93ID:TIiO0iUw
>>536
それは分かるけど、表示の並び順の順位の情報は別のテーブルに持たせるべき情報じゃないのかと。
まあDB素人だからよく分からんけど。
0538デフォルトの名無しさん2014/07/17(木) 12:23:41.01ID:SqWRVgRs
広告の表示順番とか大事だよね
こっちの広告の表示優先順位上げてこっちは下げるみたいなことするから
そういう情報を保存することってわりとあると思うんだけど
0539デフォルトの名無しさん2014/07/17(木) 12:24:40.37ID:SqWRVgRs
正規化の話かw
0540デフォルトの名無しさん2014/07/17(木) 12:37:37.72ID:nGfTB3LI
表示順位って基本1:1の関係だから別に正規化しなくてもいいと思う
脱線して悪いから自分もDisplayOrderに1票
0541デフォルトの名無しさん2014/07/17(木) 13:49:30.62ID:Dv70qjb7
>>537
わざわざ別のテーブルにする意図がわからん
特定の人にとってはすごく重要な情報だし
0542デフォルトの名無しさん2014/07/17(木) 17:13:53.42ID:f9EwQ7K8
馬鹿な企業だとステークスホルダーごとに違う順番を要求してきそうだから、案外別テーブルはいいかもしれない。
0543デフォルトの名無しさん2014/07/17(木) 20:33:12.89ID:Y7AQ1qmL
>>541
少なくとも普通のプログラミングでは、特定のViewに依存させるような馬鹿な設計はしない。
0544デフォルトの名無しさん2014/07/17(木) 22:48:06.74ID:m4PLuJxF
>>543
要求があればそれを実現するのが設計者と言うもの
複数の順序が要求された時に別テーブルで持つのか、順序フィールドを複数持つかは実装次第だけど、>>543 みたいに馬鹿な設計と言うだけでなにもできないやつは不要だよ
0545デフォルトの名無しさん2014/07/17(木) 23:28:25.95ID:56uTmi2x
>>544
馬鹿な上に無礼と来てるんだから救いようがないな。
まあ馬鹿ってだいたいそうだけど。
0546デフォルトの名無しさん2014/07/17(木) 23:36:05.81ID:CHh+pHJ5
> 馬鹿と言うだけでなにもできないやつは不要だよ
0547デフォルトの名無しさん2014/07/17(木) 23:45:14.97ID:f9EwQ7K8
>>544
あるべき論で言うなら、
要求すべきは問題の解決であり、見た目ではない。
見た目を要求するなら、依存度など副次的な問題に対する解決方法も全て提供すべき。

これだけで多くのプロジェクトが低コストで成功するのになー。
0548デフォルトの名無しさん2014/07/18(金) 00:08:11.02ID:RVGuJ+3v
>>547
> 要求すべきは問題の解決であり、見た目ではない。

今頃何を言ってるんだよ...
>>536 すら理解してないアホは要らんよ
0549デフォルトの名無しさん2014/07/18(金) 00:55:50.68ID:97CjBc8L
>>548
あるべき論の話してるのに、元の話をもってくるとか、こういう奴がいるからブラックが増えるんだな。
問題は当人が自覚してないケース。
0550デフォルトの名無しさん2014/07/18(金) 01:05:29.94ID:RVGuJ+3v
>>549
ぼくのかんがえたさいきょうのあるべきろん w
要らんわ
0551デフォルトの名無しさん2014/07/18(金) 01:13:15.54ID:97CjBc8L
>>550
それを言うならそもそもお前>>1で要らないと言われてる。
0552デフォルトの名無しさん2014/07/18(金) 01:26:38.38ID:U3e8yWOg
お前もな〜 w
0553デフォルトの名無しさん2014/07/18(金) 01:36:57.62ID:YwF2SXDX
UXとしてレコードの表示順序を永続化して再現したいのなら、
レコードに表示順をフィールドとして持たせりゃいいだろう。
ユーザーが並べ替えた順序・位置を記憶しとくのは普通にありだろ。
なにを揉めてんのかw
0554デフォルトの名無しさん2014/07/18(金) 07:36:25.95ID:KnXUTMy4
別に揉めてないよ、ぼくのかんがえたさいきょうの設計でないとやだって、>>543 が駄々こねてるだけ
0555デフォルトの名無しさん2014/07/18(金) 10:08:23.90ID:oQ20swwf
似たような種類の変数名の付け方ってどうすればいいの?
アクションゲームとかで、
1. ステージ左上を(0,0)としたブロック単位のキャラの位置
2. ステージ左上を(0,0)としたピクセル単位のキャラの位置
3. 画面左上を(0,0)としたピクセル単位のキャラの位置
は、それぞれどんなふうにつけると良いですか?
0556デフォルトの名無しさん2014/07/18(金) 10:14:47.89ID:97CjBc8L
>>555
名前空間を作ってさっぱり。
0557デフォルトの名無しさん2014/07/19(土) 11:54:39.95ID:Kv+3EIun
あー、諸悪の根源じゃない方のハンガリアン記法が役に立ちそうだと思った
0558デフォルトの名無しさん2014/07/19(土) 12:18:54.63ID:6ToV8WBR
2.や3.なんて描画段階で関数ローカルに使うような情報だろ。何でもいいよ
0559デフォルトの名無しさん2014/07/19(土) 12:34:11.80ID:IiaFDcUc
>>558
その通りだね。俺も同じこと書こうと思った。
まあ普通は不要なのは1と3じゃないかとは思うけど。
0560デフォルトの名無しさん2014/07/20(日) 13:13:38.03ID:5JA9Qpio
>>558 >>556

関数ローカル内で閉じた変数だったら、
一文字で、x とか y で十分だよね。

ゲームで放物線の関数だったら、
f(x) = - x*x + x ;
みたいなので十分だよ。


でも、たぶん、>555 は、ローカルな変数でなくて、3つを同時に扱うときの区別をしたいのだろう。
その場合は >557 のいうように、Excelチームが使っていたハンガリアン記法も良いだろう。
なお、Wordチームは、Excelチームの記法を真似しようとして全然違う規則を作ってしまい、
そっちの方が世に広まって諸悪の根源になってしまったから、気をつけろ。


あと、キャラの位置とかは、構造体とかオブジェクトの中のメンバ変数として取り扱うという方法もある。
この場合、キャラが持つべき情報は、ピクセル単位の情報は持たないで、相対位置だけにする。
2,3 は、画面表示系のクラス中で、ピクセル単位から、表示系のピクセル単位に変換する。
なので、昔のゲームシステムなら2 だけで1,3は不要だったけど、今は逆に 2 が不要かもね。

名前の候補として、
positionAsBlock.x や y
positionAsPixel.x や y
とかどうかな?
短くしたいなら
pos_bk.x
pos_bk.y
pos_px.x
pos_px.y
とか。
0561デフォルトの名無しさん2014/07/20(日) 14:12:45.97ID:5JA9Qpio
>560 の補足
例えば、Wikipediaの座標の項目を見ると、参考になるかも
http://ja.wikipedia.org/wiki/%E5%BA%A7%E6%A8%99

ただ、対象がゲームって決まっているならば、 ゲームでよく使うグラフィックライブラリで使われている慣例に従うのも良いだろう。
だれか、詳しい方、よろしく。
0562デフォルトの名無しさん2014/07/20(日) 14:19:23.37ID:y7eRJnlY
ローカル変数ならposなんとかで短くした方がいいね。
だがメンバーとして保持するなら、どちらか一方のみ保持して、
残りは変換関数で毎回得る方がバグも少なくなりそう。
パフォーマンスの問題はあるけどね。
0563デフォルトの名無しさん2014/07/20(日) 15:50:40.18ID:sfFRPwxh
>>560
だから、>>>555の1と3は普通に考えて恐らく2から求められる値なんだろうから
ローカル以上のスコープで保持する必要なんか普通はないでしょ。

必要な時だけ変換関数を呼んで求めれば済むし、そうでなくても
冗長なデータを二重に持つのはバグの元。
0564デフォルトの名無しさん2014/07/20(日) 17:17:17.77ID:gPSb7JcS
同軸上の単位が違うだけだからね
保持する情報は少なく、変換、計算できる物は保持しないだな

ローカルで使うなら、それを表す名詞+x,yで十分でしょ

3はグラフィックスとしての単位だからまた別だろうけど
0565デフォルトの名無しさん2014/07/20(日) 18:52:05.98ID:qBUVWwUB
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
0566デフォルトの名無しさん2014/07/21(月) 01:45:39.44ID:wwsJjsDG
基本的に禁止ということは、完全に禁止というわけではなく例外として設計について議論してもいいって事
0567デフォルトの名無しさん2014/07/21(月) 07:28:35.44ID:kGYLdNtk
人殺しても無罪になるケースがあるから殺人 OK ってか

人の迷惑とか考えたことないんだな
0568デフォルトの名無しさん2014/07/21(月) 11:05:38.91ID:6Saaw70N
お前こそ、人の価値観は千差万別だってわかってないガキだろ馬鹿。
0569デフォルトの名無しさん2014/07/21(月) 11:28:25.49ID:T7desLmv
お前らゴミ同士仲良くしろ
0570デフォルトの名無しさん2014/07/21(月) 12:11:34.22ID:/12sA3/R
>>568
> 人の価値観は千差万別

だから、スレが別れてるんだろうが
オナニー設計披露したいならブログででもやってろ
0571デフォルトの名無しさん2014/07/21(月) 14:13:06.53ID:vAEWu4z7
>>570
馬鹿かお前。
だからそんなのはお前の価値観だろうが馬鹿が。
お前が気に入らないのならお前が余所に行けよ。
この世はお前中心に回ってるんじゃない馬鹿が。

だいたいお前がやってるそれは命名に関する議論なのか馬鹿。
他人に指図する前にお前自身が主張する価値観でお前自身を縛れよ馬鹿が。
0572デフォルトの名無しさん2014/07/21(月) 14:18:43.22ID:vAEWu4z7
っていうか断言するけど、>>565,>>570みたいな奴は他人にケチをつけるだけで
スレの趣旨に対して建設的な意見は一つも書けないカス。

人を不愉快にする以外能がない寄生虫のダニ。
0573デフォルトの名無しさん2014/07/21(月) 14:26:57.35ID:kGYLdNtk
>>571
> だからそんなのはお前の価値観だろうが馬鹿が。

「命名規則や設計の善し悪しについて議論するのは基本的に禁止。」 って言うのがずっと書かれてることも知らんのかよ。
まあ、馬鹿に何を言っても無駄だったな。
0574デフォルトの名無しさん2014/07/21(月) 14:43:28.84ID:7K57H5S1
だから、スレタイに「基本的に禁止」って書いてあるように、完全に禁止されているわけではない。
どうしてもという必要な場合には議論してもいいという余地を残しているんだよ。
日本語もできないのか??

だから、迷惑って意味不明。スレタイが必要な場合には議論してもいいと許可してるのに
迷惑とかわけわからんことはいわない。
0575デフォルトの名無しさん2014/07/21(月) 14:49:29.34ID:ms/hzSJo
基本的に議論は別の相応しいスレに逝けってことだろ
0576デフォルトの名無しさん2014/07/21(月) 14:55:16.96ID:ES3Hi+lV
議論といえる程の事はしてないと思うがなw
0577デフォルトの名無しさん2014/07/21(月) 15:14:57.95ID:kGYLdNtk
>>575
そうとるのが普通
アホが指摘されて逆ギレしてるだけのこと
スレタイとか意味不明のこと言ってるし w
0578デフォルトの名無しさん2014/07/21(月) 15:25:25.61ID:CWXO6H7B
以上ここまで人工知能とチンパンジーあいちゃんによる議論テストでした
有意義なテスト結果だったと思われます

ここからは「クラス名・変数名に迷ったら書き込むスレ」をお楽しみ下さい
0579デフォルトの名無しさん2014/07/21(月) 16:19:19.32ID:R63GHBoq
ファイル名のうち、ディレクトリと拡張子を捨てた部分
を格納する変数名ってなにが良いかな
0580デフォルトの名無しさん2014/07/21(月) 16:29:16.84ID:ms/hzSJo
括弧内は省略したりしながら
dir(ectory) + (file)name + ext(ension) = path
をWith/W(ith)o(ut)でつなげた名前をよく使うわ
iconNameWoExt とかさ
0581デフォルトの名無しさん2014/07/21(月) 16:30:41.69ID:59mKV2xH
basename
0582デフォルトの名無しさん2014/07/21(月) 16:36:43.53ID:bKg2OF3I
splitpath
0583デフォルトの名無しさん2014/07/21(月) 16:48:28.83ID:R63GHBoq
アイちゃんのみんなありがとう
とりあえずbasenameにしました
0584デフォルトの名無しさん2014/07/21(月) 17:00:29.41ID:NInr9MkB
>>573
そんなものはただのコピペであって何らかの方法で形成された合意に基づいているわけじゃない。

要するにそれをもっともだと思うか、俺のように幼児的で非合理的な
馬鹿げたルールだと思うかは各人に任されている。

こちらはお前のような自己中心バカと違って自分の考えを他人に押し付けたりしてはいない。
命名から逸脱する議論がくだらないと思うなら黙って見ていろ馬鹿。

1年で1スレッド消費するかどうかの閑古鳥が鳴くスレッドで質問と関連する議論が
展開されることで、それが誰かの参考になることがあっても一体誰の迷惑になるというのか。

過去にも何度も書いているが、
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
こんなテンプレートはお前のような他人の血を吸うダニのような連中にスレッドに
寄生して他人の揚げ足を取る言い訳を与えるだけで有害無益。
0585デフォルトの名無しさん2014/07/21(月) 17:01:53.61ID:7K57H5S1
>>577
日本語読めない馬鹿は何いってるの??
「基本的に」ってなんでついてるか分かってるの?
「基本的に」って言葉の意味調べたほうがいいよ。
100%禁止なら「基本的に」なんてつけないんだよ。
完全に禁止してるなら「基本的に」って修飾しないんだよ。

アホすぎるだろ
0586デフォルトの名無しさん2014/07/21(月) 18:51:46.79ID:kGYLdNtk
>>584
> 馬鹿げたルールだと思うかは各人に任されている。

俺は馬鹿げたルールだと思うから守らねーぞってか?
常識とか通じないんだろうな...
0587デフォルトの名無しさん2014/07/21(月) 19:05:40.26ID:8inRujs+
みんな相手を罵りすぎ
かっこ悪いよ
0588デフォルトの名無しさん2014/07/21(月) 19:18:36.27ID:SfTMR4oF
純粋に分からないことが一つあるんだがw

ここは、変数名について尋ねたらなんとタダでヒントをくれるスレだよな?
さらに運がいいときは、設計についてのヒントまでタダでくれるんだよな?

だれがこれ損してんの?
少なくとも質問者ウッハウッハやん。
これ、タダだぞ?
一銭も発生してないんだぞ?
0589デフォルトの名無しさん2014/07/21(月) 20:12:48.32ID:XFRcE/HB
>>588
回答者どうしの罵り合いになってどれが自分の目的に叶うかさっぱり分からなくなる可能性があるけどね
0590デフォルトの名無しさん2014/07/21(月) 20:16:35.31ID:fJzlxdVn
なんか、588、589って大人だあ。
587までのを見たあとだと。
0591デフォルトの名無しさん2014/07/21(月) 20:50:31.20ID:By4oX885
>>588
タダではないよ。ちゃんと優越感は得られるし。Win-Winの関係だな。
0592デフォルトの名無しさん2014/07/21(月) 21:29:29.20ID:tBAm93Q5
>>588
> 少なくとも質問者ウッハウッハやん。

聞いてもないオナニー設計で満足できるならね...
0593デフォルトの名無しさん2014/07/23(水) 07:52:05.55ID:y4M0ThVf
http://shunirr.hatenablog.jp/entry/2014/07/22/231648
面白いの見たから貼っとく
0594デフォルトの名無しさん2014/07/23(水) 09:50:44.30ID:65wJzb8e
1024byte=1Kbだったのに
今や1000b=1Kbでもアリになってんだな
知恵ひけらかして、恥かくところだったぜ、知らんかった
0595デフォルトの名無しさん2014/07/23(水) 10:07:13.92ID:mP2BcV1T
KiBとかMiBとか流行らせようぜ
0596デフォルトの名無しさん2014/07/23(水) 11:51:57.14ID:C/KO+A1D
>>594
SI接頭辞のキロは小文字だってことも覚えておかないと恥かくよw
0597デフォルトの名無しさん2014/07/23(水) 12:00:40.26ID:65wJzb8e
そういえば大昔
k=1000、K=1024って使い分けていた時があったな・・・
今思えばローカルルールだったのだろうか
0598デフォルトの名無しさん2014/07/23(水) 12:23:42.33ID:nwb08YiI
>>596
そもそも1024な時点でSI関係ないし
>>597
Windowsでは今(Win8)でも大文字KB=1024バイトで表記されてる
さほどローカルとは思えん
0599デフォルトの名無しさん2014/07/23(水) 12:56:51.65ID:C/KO+A1D
>>598
関係あるから。
基数に10を採用しようが2を採用しようが、「1kB」という表記はありえても
「1KB」なんて表記はありえない。
0600デフォルトの名無しさん2014/07/23(水) 13:05:38.59ID:nwb08YiI
>>599
それは通称「2進接頭辞」であってSI接頭辞を名乗っちゃいけない
ありえないっつわれても現に使われてんだからMicrosoftに聞けよ
0601デフォルトの名無しさん2014/07/23(水) 13:07:24.02ID:C/KO+A1D
ダメだこりゃ
0602デフォルトの名無しさん2014/07/23(水) 13:15:39.60ID:C/KO+A1D
しかし、こういう時にはいつもの

> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
この馬鹿が出てこない件。
これ一つとっても語るに落ちてるな本当。
0603デフォルトの名無しさん2014/07/28(月) 11:11:19.30ID:R1+xeLoy
マウスボタンを押しながらマウスを動かすこと全般をドラッグといいます
OSで言うと、複数のアイコンを選択するための動作もドラッグです
一方、オブジェクトを掴んで動かす動作もドラッグと言われていると思います
一番目の広義のドラッグと、二番目の狭義のドラッグに同じメソッド名を付けると整合性が崩れます
そこで狭義のドラッグを別の名前で呼ぼうと思います
狭義のドラッグを指す言葉は何でしょうか?
0604デフォルトの名無しさん2014/07/28(月) 11:21:09.49ID:64DFBOPp
複数のアイコンを選択する → 囲み選択
オブジェクトを掴んで動かす → ドラッグアンドドロップ
0605デフォルトの名無しさん2014/07/28(月) 11:39:57.74ID:R1+xeLoy
ユーザーレベルではそれでいいですが、
プログラミングするには各動作を分解し、もう少し厳密に名付けをする必要がありますよね
0606デフォルトの名無しさん2014/07/28(月) 11:52:35.73ID:PFbVUzMe
ドラッグは
マウス押してから放すまでのカーソルの移動
ってだけでいいんじゃね?

そこにアイコンがあるとか、複数あるとか、
画面上の何かを掴んでるとかは別にして。
0607デフォルトの名無しさん2014/07/28(月) 12:11:34.75ID:64DFBOPp
>>605
begin, move, endの事を言ってるのかい?
0608デフォルトの名無しさん2014/07/28(月) 12:22:58.45ID:R1+xeLoy
>>606
それを広義のドラッグと呼んでいます
0609デフォルトの名無しさん2014/07/28(月) 12:35:53.79ID:yhwaNL6g
>>608
まず基本的に、ドラッグっていうのはオブジェクト(GUIの画面上の物体)を
「掴んで引っ張る」ことであってマウスの操作のことではないと思うよ。

ようするにあなたの言う「広義のドラッグ」を普通はドラッグとは言わない。
0610デフォルトの名無しさん2014/07/28(月) 12:38:09.25ID:vzbhE8SK
MouseDrag, ObjectDrag でええやん
0611デフォルトの名無しさん2014/07/28(月) 13:01:19.21ID:R1+xeLoy
>>609
では「クリックボタンを押したままマウスを移動する動作」を普通は何といいますか?
>>610
なるほど。。
0612デフォルトの名無しさん2014/07/28(月) 13:03:40.03ID:R1+xeLoy
http://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%83%BB%E3%82%A2%E3%83%B3%E3%83%89%E3%83%BB%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF
マウスのボタンを押したままマウスを移動させることを「ドラッグ」といい、ほとんどの場合クリックとは異なる動作として認識される。

とありますね
0613デフォルトの名無しさん2014/07/28(月) 13:21:40.37ID:64DFBOPp
普通、マウスイベントを処理するメソッドの他に、状態モードがあるんだよ。
メソッド名は例えば、dragBegin, dragMove, dragEnd..とあって
状態モードは、draggingObject, selectingObject..とか。
現在の状態がselectingObjectモードならdragEndでは囲み選択の処理をする、
draggingObjectモードならオブジェクトをドロップするとか切り分ける。
0614デフォルトの名無しさん2014/07/28(月) 13:31:31.86ID:yhwaNL6g
>>611
呼び名はないと思う。
だからマニュアルなんかで便宜上ドラッグと表現することはあるけど、
正しい表現ではない。

>>612
それは混同と混乱があるだけで違うと思うよ。
英語版にはそんなこと書いてないし。
0615デフォルトの名無しさん2014/07/28(月) 18:09:34.07ID:XkkQmSCe
http://en.wikipedia.org/wiki/Mouse_(computing)#Operation
> Drag: pressing and holding a button, then moving the mouse without releasing.

で?
0616デフォルトの名無しさん2014/07/28(月) 19:09:58.92ID:FHFsPlLG
>>603
multiSelect
メソッドなら他にもselectありそうだから頭揃えて
selectMulti
0617デフォルトの名無しさん2014/07/28(月) 19:51:03.11ID:vzbhE8SK
>>616
それなら areaSelect の方がいいかも
0618デフォルトの名無しさん2014/07/28(月) 20:06:11.77ID:FHFsPlLG
操作にメソッド名つけるってのも変な感じだな。
その操作だと判断されたら、もう処理を呼べるわけだし、その処理の名前は処理の内容に基づくし。
0619デフォルトの名無しさん2014/07/28(月) 20:34:38.84ID:7aiAkA2o
>>615
だから便宜上操作そのものをドラッグと呼ぶこともあるだけで本来的な用法じゃない。

http://e-words.jp/w/E38389E383A9E38383E382B0.html
ここの説明にもあるけど、dragっていう英語の語義をよく考えてくれ。

ブラウザやエディタの何もないところでその操作をして、何かを"drag"してるように見えるか?
0620デフォルトの名無しさん2014/07/28(月) 21:24:38.03ID:vzbhE8SK
>>619
> 何かを"drag"してるように見えるか?

マウスカーソルあるいは四角形の右下だろ

そもそも、そんなこと言うなら mouse の語源から考えなよ
0621デフォルトの名無しさん2014/07/28(月) 23:11:37.35ID:ei6XMfg7
考えなよ

なるほど、ドラッグっていうのはマウスポインタを"drag"する操作のことだったのかw
0622デフォルトの名無しさん2014/07/29(火) 15:45:40.43ID:mCQRG9dh
選択範囲の終了地点をドラッグ
選択したアイコンをドラッグ

整合性がなんだって?
0623デフォルトの名無しさん2014/07/29(火) 16:25:27.54ID:y+fkAi0X
>>622
自分で何書いてるのか分かってる?w
重症のバカだな。
0624デフォルトの名無しさん2014/07/30(水) 00:11:00.25ID:hpaz15Vy
>>603
Drag
Select
Move
0625デフォルトの名無しさん2014/07/30(水) 01:19:48.00ID:TujuZBJA
危険ドラッグ
0626デフォルトの名無しさん2014/07/30(水) 12:18:46.71ID:VKqszBSH
それはドラッグとは言わない → じゃあ何て言うのか → 呼び名は無い

こうですか?
0627デフォルトの名無しさん2014/07/30(水) 18:56:41.07ID:sgTxNWEA
それはドラッグとは言わない → じゃあ何て言うのか → みんなはドラッグと呼んでます

こうだろ
0628デフォルトの名無しさん2014/07/31(木) 10:07:37.77ID:ojlGDVpA
public string CounterMeasureInjection(string str)
{
}

長い・・・・・
短くてもっといい名前をください
0629デフォルトの名無しさん2014/07/31(木) 11:43:59.34ID:CMs90KqI
>>628
長い以前に何をするのか全然分からないんだけどそれ...
っていうかその質問の仕方で答えが返ってくると思える神経が一番わからん。
0630デフォルトの名無しさん2014/07/31(木) 11:52:50.42ID:P8TVIAnG
逆尺度噴射(文字)
0631デフォルトの名無しさん2014/07/31(木) 12:39:47.69ID:h+otK3G+
>>628
public string CMI(string str)
{
}
0632デフォルトの名無しさん2014/07/31(木) 14:28:57.95ID:kACa/uy0
ぐぐってみたが、DB系の用語かな?
0633デフォルトの名無しさん2014/07/31(木) 16:20:12.31ID:WFH0tMBH
>>628
public string Sanitize(string str)
{
}
0634デフォルトの名無しさん2014/07/31(木) 18:26:29.48ID:uLuNdZdQ
浣腸対抗手段。。。

きっとユーザの入力から攻撃入力を弾くとかエスケープするとかするんだろうけど
0635デフォルトの名無しさん2014/08/04(月) 22:38:16.66ID:eWAxusEw
http://www.buzzword.jp/img/face10.png
0636デフォルトの名無しさん2014/08/08(金) 08:01:56.80ID:DKRcKqIM
数直線上に重なり合わない線分がいくつかあり、
これらを管理してるクラスがあります。

それに対して「点を指定してそれがどれかの線分上にあるかどうか」を真偽値で返すメンバー関数名がしっくり来ないんですが何かもっといい名前があれば教えてください。

現在は各線分はsections(区間)というmapに保存してて、
IsValueInSection( int pos );

みたいに名付けています。
あ、一応C++です。

参考にしたもの
ttp://www.aerith.net/design/bool-j.html#argument
0637デフォルトの名無しさん2014/08/08(金) 08:09:56.40ID:9UorGjXo
>>636
それが真だったらどんな意味があるの?
0638デフォルトの名無しさん2014/08/08(金) 08:24:37.91ID:suUfj7H5
[Is]OnASection(pos)
anySectionHas(pos)
0639デフォルトの名無しさん2014/08/08(金) 08:28:32.50ID:Ow0uivX6
>>635
グロ
0640デフォルトの名無しさん2014/08/08(金) 12:50:22.33ID:z/gk6CeO
>>636
なんかデジャビューを感じる質問だな...
IsOnAnyInterval
SegmentExistsAt

※ 線分ってsegmentだし、数直線なら線分じゃなくて区間(interval)じゃないの?
0641デフォルトの名無しさん2014/08/08(金) 13:28:02.33ID:U3aQnjb8
IsInRange()でいいのでは
0642デフォルトの名無しさん2014/08/08(金) 19:54:53.67ID:IFQmP97J
また質問者トンズラか
0643デフォルトの名無しさん2014/08/08(金) 19:55:36.13ID:DKRcKqIM
皆さんレスどうもありがとうございます

>>637>>640
アプリ中立な表現で説明しようとして数直線とか線分とか表現しましたけど、
実際に表現している対象はメモリとその中の領域なんです

フロー解析付の逆アセ作れないかなと思ってまして、
JMPの飛び先が既に通った区間ならそこで分割しようとしてます

> [Is]OnASection(pos)
> anySectionHas(pos)
> IsOnAnyInterval
> SegmentExistsAt
> IsInRange()
この中ではanySectionHasが良さげかも…

> なんかデジャビューを感じる質問だな...
むむ、何やら勉強になりそうな
もし思い出したら教えてください
0644デフォルトの名無しさん2014/08/08(金) 20:09:30.69ID:IQ4MMRPH
Win32にはリージョンや矩形だけど、
PtInRegion
PtInRect
とかある。
0645デフォルトの名無しさん2014/08/08(金) 20:13:48.82ID:CkNNTrUQ
hasBeenAnalyzed()
isInHistory()
alreadyTraversed()
0646デフォルトの名無しさん2014/08/08(金) 20:15:59.46ID:CkNNTrUQ
ちなみに、機械語フロー解析では、basic blockという用語があるので、
調べておくといいよ
0647デフォルトの名無しさん2014/08/08(金) 20:29:12.14ID:IFQmP97J
>>643
一応突っ込んでおくけど、anySectionHasって日本語にすると「いずれのセクションも〜を持つ」
になるんですけど本当にいいの?
0648デフォルトの名無しさん2014/08/08(金) 20:33:41.29ID:DKRcKqIM
>>646
その辺は大丈夫です
中田育男先生の「コンパイラの構成と最適化」持ってます^^

>645も良いですね

>>644
ありがとうございます

>>647
すいません、英語に疎くて
なんとなくで「どこかのセクションに〜を持つ」なのかと思い込んでました
ちょっとまずいですね
0649デフォルトの名無しさん2014/08/09(土) 16:40:11.15ID:nMFrFbxf
5目並べみたいなゲームで
石をn個以上並べたら勝ちというルールの
nの値を格納する変数名ってどんなのが良いと思いますか?
0650デフォルトの名無しさん2014/08/09(土) 16:53:22.21ID:uVilfQ7i
>>649
nToWinCondition
0651デフォルトの名無しさん2014/08/09(土) 17:18:12.64ID:bPqR1BKt
>>649
WINNING_COUNT
0652デフォルトの名無しさん2014/08/09(土) 18:51:02.54ID:M4o79GHR
>>649
意外と難しいな。
BingoThreshold
MinCompleteLine(Length)
0653デフォルトの名無しさん2014/08/09(土) 20:25:15.25ID:OfH5RZi8
>>649
min(imum)SizeOf(Stone)LineToWin
min(imum)LengthToWin
0654デフォルトの名無しさん2014/08/10(日) 00:30:00.98ID:dJbJImfs
またトンズラか
06556362014/08/10(日) 02:35:21.58ID:RTdM+4TV
次の質問者の方が来られましたので
私の質問のほうは閉じさせて頂きます。

>640さんのIsOnAnyInterval を使わせて頂きます。

レス下さった皆さんどうもありがとうございました!
06566492014/08/10(日) 18:37:13.65ID:Es2sunJE
>>650-653
ありがとう

今のところ
stonesCountToArrange
で行こうかと思ってます
0657デフォルトの名無しさん2014/08/13(水) 13:45:04.32ID:03jARyf4
4文字で「解析」を意味する省略単語で良いのありますか?

send,recvの次にanalyzeのつもりでanalにしたら
同僚の子に「名詞ならanusでしょ?」と指摘されました。
動詞なら何を使えばいいのかは聞けませんでした。
0658デフォルトの名無しさん2014/08/13(水) 18:34:07.88ID:qmg1TRng
マジレスしていいのかわからんが
略し方を悩むような単語は略すべきじゃないだろ
0659デフォルトの名無しさん2014/08/13(水) 18:38:34.17ID:BorG/OEI
>>657
良くある業界笑い話の一つだよね
0660デフォルトの名無しさん2014/08/13(水) 19:43:16.68ID:0ozxm8iV
recvときたらtossにきまってんだろトーシロが
0661デフォルトの名無しさん2014/08/14(木) 17:15:15.10ID:NvA1p7a+
>>658
1行目の質問には答えてほしい
俺だって省略したくないが、システムの都合上
0662デフォルトの名無しさん2014/08/14(木) 17:57:34.71ID:UKa3zRV/
>>661
anly か anlz あたりでいいんじゃね
0663デフォルトの名無しさん2014/08/14(木) 18:22:40.87ID:liLWw70J
zの音を入れたいよな、anlzに一票
0664デフォルトの名無しさん2014/08/14(木) 18:49:45.30ID:xDP3Gk1q
何でそうなる。
>>657は自分で答えを書いてる。
0665デフォルトの名無しさん2014/08/15(金) 19:21:31.82ID:eFXjtigZ
マジレスすると「解析」から離れたらどうか。ついでに4文字略語も混乱の元になるから避けたい。
「解析」じゃあまりにも一般的過ぎて意味が捉えずらい。

文字列の構文解析ならparseとか。
統計上の標準偏差を調べるならstddevとか。
0666デフォルトの名無しさん2014/08/15(金) 20:08:34.67ID:riZWu8Jk
>>661
4文字以下に略さなきゃいけないのに略し方の規則もないの?
そんな無理がある前提ならそのままanalでいいんじゃねーの?
0667デフォルトの名無しさん2014/08/15(金) 20:41:03.05ID:ZX0WxFNg
anlz
anly
0668デフォルトの名無しさん2014/08/15(金) 21:18:47.88ID:dVghf27+
>>657
馴染のあるstatでいぃんじゃね。
0669デフォルトの名無しさん2014/08/17(日) 10:30:58.10ID:ByxoqvFy
statに解析の意味があるの?
0670デフォルトの名無しさん2014/08/17(日) 15:18:38.66ID:lJkZqqOG
Cだとstatじゃ全然別の意味になるだろ。
ファイル見るわけでもなし。
0671デフォルトの名無しさん2014/08/17(日) 15:26:59.63ID:h2zs3D24
>>669
解析と統計の区別がついてないんだろ
0672デフォルトの名無しさん2014/08/17(日) 15:48:22.41ID:rDYqCMYx
668じゃないが「解析」とやらが例えば statistical analysis とでも言うべき内容であれば stat で適当かもしれない。
analyze, analysis は色んな言葉と組み合わせて使えるが、単独で使うと意味不明。
コンテキストにあった名前にした方がいいが、>>657はほとんどポエムにしか見えないので、analでいいとしか言えない。
0673デフォルトの名無しさん2014/08/17(日) 15:52:07.73ID:wn4TLg6+
解析ってほど解析してない予感
0674デフォルトの名無しさん2014/08/17(日) 19:33:06.74ID:m99h1H4X
もうdoesとかexecとかでもいいんじゃないか。
0675デフォルトの名無しさん2014/08/17(日) 21:23:02.03ID:vl0Z1hNP
いっそa5eとかAzとかな
0676デフォルトの名無しさん2014/08/18(月) 09:29:11.59ID:pnPI0mK/
>>675
5文字でその表記使う…?
0677デフォルトの名無しさん2014/08/18(月) 15:23:15.14ID:06Pea4hQ
初期値、現在値、最小値、最大値を持つクラスがあって、
本来なら dafault, current, min, maxみたいな感じで名前つけたいんだけど
その内1つ(default)だけ使えないときってみんなどうしてる?
冗長でも全部にVal(ue)つける?
0678デフォルトの名無しさん2014/08/18(月) 15:51:52.56ID:CPPmPTlY
> その内1つ(default)だけ使えないときってみんなどうしてる?
何を言っているのか、何が聞きたいのか全く理解できない。
使えないとは?
0679デフォルトの名無しさん2014/08/18(月) 15:54:00.63ID:D1L03m6l
予約されてるとかでしょ。
統一して全部に付けるよ。
0680デフォルトの名無しさん2014/08/18(月) 15:55:56.31ID:CY8jVm17
default の代わりに initial, current の代わりに present, min の代わりに least, max の代わりに greatest
0681デフォルトの名無しさん2014/08/18(月) 15:59:48.37ID:91CTLtcl
なんのデータなのか名前を付ける
japan_dafault, japan_current, japan_min, japan_max
(いちいちデータ構造を作るほうが多いかな)

単にdafaultとかって書くのは、「これ」とか「それ」で意味が通じるくらい主語のある処理で、しかもごく小規模の短い関数とかだけ
0682デフォルトの名無しさん2014/08/18(月) 16:03:49.79ID:kgpSV0N7
>>677
別の名前に変える
0683デフォルトの名無しさん2014/08/18(月) 16:05:23.19ID:kNlXzzq3
初期値とか大抵定数じゃん
命名規則的にDEFAULTとかDefaultになるから悩むまでもない
0684デフォルトの名無しさん2014/08/18(月) 16:24:39.92ID:08w8CI5e
>>681
汎用的な使い方を想定している関数など、意味を持たせにくい場合は
valueあたりでお茶を濁す感じかねぇ
06856772014/08/18(月) 16:57:40.56ID:06Pea4hQ
>>678
言葉足らずだったけど>>679の言うとおり予約語でって意味です

>>680,682
普段からそういう単語使ってるってこと?
予約語避けるためだけにその部分だけ変えるんだと
かえってわかり辛くなるよね?

やはり全部統一するのが無難みたいだね
答えてくれた人ありがとう
0686デフォルトの名無しさん2014/08/18(月) 17:04:37.55ID:kgpSV0N7
>>685
用語の英訳決める段階で気をつけてはいる。あと、clazzのようなことをすることもある。
0687デフォルトの名無しさん2014/08/18(月) 17:08:44.41ID:sIBxNP11
親子関係を調べる関数、is_ancestor_of()があるとして、引数にthisが与えられた場合、
trueを返すべきでしょうか?falseを返すべきでしょうか?
0688デフォルトの名無しさん2014/08/18(月) 17:23:56.70ID:sIBxNP11
>>688
なるほどそうですね。
falseを返すようにします。
0689デフォルトの名無しさん2014/08/18(月) 17:33:46.24ID:CY8jVm17
>>685
実際に使っているのは initial くらいだ。といってもinitialVelocity とか initialPosition とか initialPhase とか後に何かつける。
今回の質問では後につけるべきものがわからんので書かなかった。
Value は書いたところで情報量ほぼゼロ。型すら想像できない。一時変数かよほど抽象的なものにだけ使う。
他は質問を見てパッと思いついたのを書いた。割と簡単な (中高生用の辞書でも出てくる) 単語だとは思うが。
0690デフォルトの名無しさん2014/08/18(月) 19:22:13.31ID:kNlXzzq3
Valueはちょっとした抽象的な型のデータベースをもったクラスで使うわ
"KeyValueペア"のValueね
0691デフォルトの名無しさん2014/08/18(月) 23:52:20.37ID:8sqBGSCN
初期値はinitial、既定値はdefault
0692デフォルトの名無しさん2014/08/19(火) 02:37:44.62ID:V/Qkg43F
>>677
ランダムウォーク的な何か?
座標なら原点はdefaultじゃなくてoriginの方がしっくりくる。
0693デフォルトの名無しさん2014/08/19(火) 12:41:40.60ID:tg7i16ue
>>680
> min の代わりに least, max の代わりに greatest

minimum, maximum でいいんじゃね?
0694デフォルトの名無しさん2014/08/19(火) 13:08:21.70ID:JsCdAvLQ
>>693
さすがにそれらが思いつかないほどボキャブラリーが貧弱な人はいないと思って敢えて違うのを書いた。
0695デフォルトの名無しさん2014/08/20(水) 18:32:47.34ID:aSpRdTpy
>>677
おしゃれにイタリア語で
dafault, corrente, minimo, massimo
0696デフォルトの名無しさん2014/08/20(水) 18:40:37.21ID:VJQkHmLQ
newが使えなくてneuならよくやる
0697デフォルトの名無しさん2014/08/20(水) 18:46:24.54ID:7awaRd2X
>>695
それだったら日本語で
kitei, genzai, saishou, saidai
って考えけどなんかダサかった。
0698デフォルトの名無しさん2014/08/20(水) 20:03:04.46ID:sD4N7Cu6
素直に日本語使えよ
アルファベットしか使えない?そんな糞言語は捨ててしまうがよいです
0699デフォルトの名無しさん2014/08/20(水) 20:26:38.61ID:MeLdzgom
仮に言語仕様として使えても補完に出てこないからダメ
0700デフォルトの名無しさん2014/08/20(水) 21:09:43.50ID:f4puTXWO
>>699
VBA すらインテリ効くぞ
0701デフォルトの名無しさん2014/08/20(水) 21:31:15.39ID:RXWpuYSN
補完の問題じゃなくね
フリガナ振れるならともかく、並べたときに探しにくいよ
0702デフォルトの名無しさん2014/08/20(水) 22:55:59.97ID:VWydhhad
予約語をエスケープして識別子として使える言語を使え
0703デフォルトの名無しさん2014/08/21(木) 03:26:50.10ID:ON7IiFUi
>>696
いっそのこと bless とか birth とかじゃダメ?(冗談半分)
0704デフォルトの名無しさん2014/08/21(木) 23:39:33.44ID:2GHrIjV1
現在の位置情報を持ったクラスの関数で
引数に取った相対位置に移動する関数の名前はどうつけたらいいですか?
move(relativePos){
nowPos = nowPos + relativePos;
}
0705デフォルトの名無しさん2014/08/21(木) 23:56:41.49ID:afFbigXk
まんまmoveToRelative()とか
0706デフォルトの名無しさん2014/08/22(金) 00:55:37.48ID:3LktGKTi
>>704
単にmoveでいいでしょ。

仮に絶対位置に移動する方のメソッドがあるとしても引数の型で区別できるし、(要は移動量と絶対位置はそれぞれ別の型にしろと)
オーバーロードが使えない言語ならそっちはmoveToとかすればいい。
0707デフォルトの名無しさん2014/08/22(金) 00:58:31.12ID:3LktGKTi
っていうか、なんかメカの制御みたいなのを想定して>>706みたい書いたけど、
単純にデータだけの型なら別にそんな関数いらねえ気が。
0708デフォルトの名無しさん2014/08/22(金) 06:19:18.15ID:+dOKMbSQ
普通に疑問なのだが、移動量と絶対位置を別の型にする実装って見たことないんだがあるん?
仮に単位つけるにしてもどちらも「距離」になるだろうし
符号付と符号なしにでもするの?
07097042014/08/22(金) 10:30:49.34ID:G9W9XlM2
設計見直したら名前つける必要なくなったので閉めます
意見くれた人ありがとう
0710デフォルトの名無しさん2014/08/22(金) 12:05:22.71ID:BIP48fnQ
>>708
ポインタとptrdiff_t
0711デフォルトの名無しさん2014/08/22(金) 12:48:03.01ID:+dOKMbSQ
ポインタかぁ・・・
しかし座標系は一般に負をとりうるからダメだな
0712デフォルトの名無しさん2014/08/22(金) 13:01:55.20ID:yUe390EK
>>711
座標とベクトルは別の型にした方が不要な混乱とバグを減らせる場合もあると思うけどな。
0713デフォルトの名無しさん2014/08/22(金) 22:28:19.90ID:cOUk6V+7
ちなみにptrdiff_tは符号付きの整数
0714デフォルトの名無しさん2014/08/29(金) 18:28:22.31ID:ZQUCiV5V
質問なんですが、C#で例えば、
あるフォルダの中の全ファイル名を保持するリストを作るとしたら、
All File Listを略して
List<string> AllFileList; //1
List<string> FileListAll; //2
List<string> FileAllList; //3
のどれにするか良く迷います。だいたい2か3にしています。
もっとお勧めの命名法ありますか?
0715デフォルトの名無しさん2014/08/29(金) 18:34:57.47ID:NqMFmf+e
>>714
俺なら単にfilenamesにするかな。
その後filename = filenames[i]みたいにして使う。
0716デフォルトの名無しさん2014/08/29(金) 18:39:42.48ID:ZQUCiV5V
>>715
レス有難うございます。

714の続きなんですが、拡張子txtのファイルのみを保持したいリストは、
List<string> FileTxtList; //4
にしています。
715さんならどうしますか?
0717デフォルトの名無しさん2014/08/29(金) 18:54:17.71ID:dtPTsEIi
>>716
すごく小さい範囲(ちいさいスコープ)だけで使うと勝手に想定して雑な名前つけるかな。
_txtsとか。.txtのリストあるって部分を強調しただけ。
アンダーバーつけたのはなんとなく。
_txts, _jpgs, _mp3sみたいに乱用するつもりで。

ある程度広いというか、いくつかのクラス間を渡り歩いたり、
生存期間も長かったりするんなら
txtfilenames, jpgfilenames, mp3filenames
あるいは一旦拡張子から切り離して、
textfilenames, imagefilenames, audiofilenamesにするかも。
0718デフォルトの名無しさん2014/08/29(金) 21:01:26.45ID:s5EzOZpJ
>>714
俺ならAllFileList一択。

英文として読みやすいのは
AllFileList
AllFileName

あとは
その変数がズバリ何なのかを示して、その後に具体的に絞るというルールにして
ListAllFile
ListFileName
NameAllFile

でもこういう工夫して付けたものは後日見返すと
なんじゃこりゃ?って感じて読みづらいことが多い。
直観的にパッと思いついたものが結果的に良いんだな。
どうしても迷ってしまった時はググってヒット件数を調べてる。

基本、複数形は使わないな。
英語の複数形のルールが単純でないので間違いの元になる。
0719デフォルトの名無しさん2014/08/29(金) 21:58:50.40ID:4XFU3FWZ
>>714
どうせローカルなんでしょ?
filesでいいよ。

それ以上に名前を工夫する必要があるのは、

- スコープがローカル以上
- 条件の違うパスのリストが複数以上ある
- パス以外のファイルに関連したオブジェクト(例えばファイル名だけとか、ファイルハンドルとか)のリストも存在する

こういう場合だけ。
0720デフォルトの名無しさん2014/08/29(金) 22:09:06.58ID:6XulYCBt
>>714
自分の場合、命名対象がリスト型であることよりも
コレクションとして振る舞うことのほうが重要だと考えるから、
普通は AllFileNames と書く
もしコレクションの要素が(文字列型ではなく)ファイル・オブジェクト型なら、
より単純に AllFiles と書く(あるいは AllFileObjects)

ただし現実のプログラミングだと単純な File という命名では不十分なケースが多くて、
AllFooFooBarBarFiles みたいにファイルの用途などで修飾されたり
List だけでなく Set や Map のコレクションも同時に宣言することがある
その時には:
・FooFooListOfBarBarFileName -- 単なるファイル名のリスト(冠詞の "a" は省略)
・FooFooListOfAllBarBarFileNames -- 全ファイル名のリスト
・FooFooListOfFilteredBarBarFileNames -- 抽出したファイル名のリスト
と "of" "for" "in" "on" "at" "by" などの前置詞を使う命名法を使い分けている


>>718
> 基本、複数形は使わないな。
> 英語の複数形のルールが単純でないので間違いの元になる。

スペルに迷ったらすかさず辞書を引くのは、プログラマの鉄則ではないかと思われ
07217152014/08/29(金) 22:17:12.34ID:2NxUjg5e
>>719
おおむね同意。

List<File> files
List<String> filenames
っていう感じもありけり。

>>720
そんな修飾しまくった変数名は生まれてきてはいけないのかもしれないw
0722デフォルトの名無しさん2014/08/29(金) 23:08:13.13ID:NHtBRnZd
>FooFooListOfFilteredBarBarFileNames
本当にこんな冗談みたいな命名をしてるならそういうソース見てみたいわ
純粋に興味がある
07237202014/08/30(土) 00:45:18.22ID:fktBCnc4
>>722
見たいというのなら、見せてあげようw
http://play.island.ac/codepaste/code?id=1592

命名について、それが必要とあれば名前の長さは気にしない主義なので、
こういったクソ長い名前を平気で書いている
(ただし、数学的なアルゴリズムを表現するコードであれば、
 x y z i j k といった1文字の名前も平気で使う)
なお、これでも80桁のターミナル幅を越えていない
(正確には vim で行番号表示しているから76桁以内になる)

仕事では UNIX C がメインだけど、C でも同じスタイルだね
過去に他人から長過ぎるという指摘(苦情?)を受けるといった記憶は無い
0724デフォルトの名無しさん2014/08/30(土) 01:39:50.93ID:UiOrG79v
>>723
コードを見て素直な意見

名称が長いのも必要性があれば使えばいいけれど

やっぱり名称に小文字+アンダースコア区切りは駄目ってことが分かった
アンダースコアの部分と空白部分の視認性が極端に落ちる
c/c++のコードにもそういうの多いけどやっぱ駄目だわ
自分はキャメルケースを推奨するわ

でもアンダースコア交じりの名称は大文字と組み合わせると
何故か視認できんだよね
0725デフォルトの名無しさん2014/08/30(土) 01:47:12.25ID:KOm7Bg9w
言語は相手に伝わって初めて言語の意味がある。
自分のスタイルを貫くのは無意味。
0726デフォルトの名無しさん2014/08/30(土) 05:08:05.67ID:Pd2ChNl7
map_of_
map_of_
map_of_
map_of_
...
0727デフォルトの名無しさん2014/08/30(土) 05:50:44.53ID:elcGSB9V
>>724
メタプログラミングとかするときは便利だけどな。アンダーバー区切り。
0728デフォルトの名無しさん2014/08/30(土) 05:52:14.49ID:elcGSB9V
>>725
冗長に言えば伝わるというものでもない。今度はちゃんと読まない人が出てくる。
0729デフォルトの名無しさん2014/08/30(土) 06:42:47.96ID:8gEiAALe
>>723
いやーきついっす。でもthx
ライブラリの公開プロパティあたりならそのぐらいの長さもありなんだがなぁ
変数部分だけ半分幅ぐらいで表示するエディタが欲しいと思った
0730デフォルトの名無しさん2014/08/30(土) 09:12:12.46ID:l186JHLs
いにしえより何度も言い伝えられてるが、
長い変数名が、なぜ必要になっちゃったか、という観点が大事。
0731デフォルトの名無しさん2014/08/30(土) 18:23:10.00ID:CH7gfeZo
>>728
「冗長に言えば伝わる」なんて書いてなくない?
長すぎず省略しすぎずってことでしょ。
>>723みたいな書き方は
自分のルールにこだわりすぎて
読み手のことを考えてない気がする。
苦情を受けたことないとか言ってるけど
誰も読む気がしないんだよきっと。
0732デフォルトの名無しさん2014/08/30(土) 20:07:04.27ID:6WSuRWjK
>>731
> 長すぎず省略しすぎずってことでしょ。

その基準が人によって違うから、難しいんだよ。
個人的には、省略されてわからないより、冗長でも頑張れば言いたいことがわかる方がいいと思う。
0733デフォルトの名無しさん2014/08/30(土) 20:26:11.43ID:ZHS48UZ5
比較的新しい言語ほどガイドライン上で省略語の許容度が小さくなってるんじゃなかったか。
Javaではなるべく省略しない、C#では省略しないようになっている。
0734デフォルトの名無しさん2014/08/30(土) 20:54:36.07ID:elcGSB9V
>>731
誰があんたが言ったって言った?
>>732
個人的には宣言時のコメントや、プロジェクトの用語集に重きを置く。
07357232014/08/30(土) 21:32:21.08ID:fktBCnc4
>>730
双方向グラフを表現する総称的なクラスライブラリとして設計すれば改善されるけど、
ある目的で「正しく動く」ことを優先して設計したから
力任せで冗長なコードになってしまった、というのが率直な言い訳


>>731
もうかれこれ20年以上前、Smalltalk-80 や NeXTSTEP はもちろんのこと、
OSF/Motif や X-Window System も名前を省略しないなかったからねぇ
自分も省略しなければ周囲も省略しないから、そんなもんだと思っていたよ

とはいえ、当時の社内の別の職場では xmt_msg_blk() とか mak_cfg_tbl()
みたいな三文字省略語を使っていたから、「方針の一貫性」が大切なんだと思う
あなたはどちらをお好みですか?という選択だから、好きな方を選べばいい
(ちなみにxmt_msg_blk() と mak_cfg_tbl() を省略せずに書くと、
 transmit_message_block() および make_configuration_table() になる)

あと、>>723のコードも見れば分かるように、前置修飾子(プレフィックス)には
省略した同義語(シノニム)を積極的に使っている
たとえばモジュール名の MOLA は Model::Object::Logial::Abstraction の省略形で、
変数名の mo_xxxx は Model::Object 下のインスタンスを表している(>>63,81 も参照)


>>734
自分は短く省略してコメントを書くくらいなら、迷わず長い名前で書くね
たしかこれは「プログラム書法」という書籍の教えだったと記憶している
0736デフォルトの名無しさん2014/08/30(土) 21:44:48.97ID:aRBxMZZr
まぁそのうち短い変数名で書けるようになるよ
小さいクラスで直行性の高いクラスを見出せるようになると
あとは柔軟に入れ替えたり組み替えたりして
小さく小さく書けて行くようになるから
変数名だけじゃなくてコードの全体量も減ってくるよ


勘違いしちゃいけないのは
変数名を ムリヤリ 短くする必要はないってこと
シンプルな設計が徹底された副作用だからね短い変数名ってのも
0737デフォルトの名無しさん2014/08/31(日) 12:32:33.47ID:gPjYOqNI
>>735
> たしかこれは「プログラム書法」という書籍の教えだったと記憶している

これとソフトウェア作法はいまだにバイブルだわ
0738デフォルトの名無しさん2014/08/31(日) 20:03:22.92ID:VehALfJW
おっさんばっかりだなここは。
0739デフォルトの名無しさん2014/09/02(火) 08:06:45.31ID:oVvXygZK
略語と言えばtoを2と書くのは誰が始めたのだろうか
1文字しか略せないのになんの意味があるのかと長年の疑問だ
0740デフォルトの名無しさん2014/09/02(火) 08:14:37.44ID:hWaDCuQb
それ、昔職場にきていた派遣社員が頻繁につかってたな
最初にやったのは、おそらくヒップホッパーだと思う
0741デフォルトの名無しさん2014/09/02(火) 08:23:16.47ID:+VGG7kNw
>>739
キャメルケースでの意義はあまりないけどスネークケースなら4文字→1文字
a2b→a_to_b
atobじゃ単語区切りが解らないから
0742デフォルトの名無しさん2014/09/02(火) 08:44:51.56ID:MNoV0Ed4
atoi...
0743デフォルトの名無しさん2014/09/02(火) 08:58:06.34ID:+VGG7kNw
>>742
C標準関数はスネークケースじゃないでしょ
まあ最近は変な接尾辞がついてるのも多いけど
0744デフォルトの名無しさん2014/09/02(火) 11:43:49.90ID:A+UugtAD
>>739
省略っていうより言葉遊びの一種でしょうね。

for ⇒ 4
you ⇒ u
see ⇒ c
I ⇒ i

こういう感じの言い換えと同様の。
2chの「しますた」みたいなのと同様、ちょっとアホが入ってる人だけが好んで使う印象。
0745デフォルトの名無しさん2014/09/02(火) 12:39:10.63ID:hWaDCuQb
loveをハートマークにしたり
やはりヒップホッパーだな
0746デフォルトの名無しさん2014/09/02(火) 20:46:39.88ID:vngmZpQR
昔の言語は識別子の名前に長さ制限があったりしたからなあ
しかも大文字小文字区別しないのも結構あったし
そこで_TO_と2じゃ大きな差だよね
0747デフォルトの名無しさん2014/09/03(水) 05:09:57.11ID:kOaKwVHu
どこで読んだか忘れたけど始めてCコンパイラが作られた頃
識別子の長さは最長6文字だったらしいぞ
0748デフォルトの名無しさん2014/09/03(水) 11:58:13.78ID:4lP4Y8zk
HTTPみたくリクエスト・レスポンスでネットワークを介してメッセージをやり取りするのですが、各メッセージは
固定長のヘッダとメッセージの種類に応じた可変長部分からなります。Messageクラスを継承した
XXXMessage,YYYMessageなどのインスタンスを受信したバイトストリームからデシリアライズして
インスタンス化します。で、受け取ったメッセージごとに要は処理(クライアント側の状態を変更)をするのですが、
この処理をするMessageクラスのメソッドの名前をお願いします。
メッセージを処理する別の主体(Handlerクラス?)とか用意しろ?とか、
スレタイからはずれますがクラスの設計が問題ならそこからお願いします。
0749デフォルトの名無しさん2014/09/03(水) 12:00:59.40ID:bEJrUZ0m
>>747
FORTRAN 66 だか 77 の規格が 6 文字だったからでしょ
メモリーは超貴重だったからねぇ
0750デフォルトの名無しさん2014/09/03(水) 12:41:11.97ID:rsU2zTUr
>>748
execute
0751デフォルトの名無しさん2014/09/03(水) 19:49:25.50ID:KIwSAv1a
あーメモリがKBの時代か
うっすら覚えてるわ
0752デフォルトの名無しさん2014/09/03(水) 21:40:35.62ID:z1Y/3x7f
>>748
メッセージの種類とは無関係に「処理」するメソッドなのだから、
その命名も総称的・抽象的になるのは必然的だと思う
たとえば >>750 の execute(=実行する)でもいいと思うし、
他の候補には process(=処理する) とか accept(=受付ける) などがある
こうした、ある総称的・抽象的な動詞に対して XXXMessage や YYYMessage といった
メッセージの種類(クラス)に応じて振る舞いが変化することが、オブジェクト指向の持つ
特徴の一つであり「ポリモーフィズム(=多態性 or 多相性)」と呼ばれる重要な概念になる

今回あえて修飾子を付け加えるとしたら、受信したレスポンスのメッセージなのだから、
received(=受信した) とか response(=応答) を検討するのがいいと思う
ここでは「表と裏」「真と偽」「成功と失敗」といった「対称性」が重要な概念であり、
ここでは「送信(send)と受信(receive)」と「要求(request)と応答(response)」になる
おそらく「リクエストメッセージ送信処理」メソッドの命名に関しても同様に悩んでいると思う
対照的な二つの概念を切り離さず、対称性を考慮し全体的なバランスを意識した命名法を検討しよう

(レスの主旨はこれで終わりだけど、オマケ的な補足を次に続ける)
0753デフォルトの名無しさん2014/09/03(水) 22:03:57.60ID:z1Y/3x7f
(>>752の続き)

なおネットワークに関わる技術者なら「OSI参照モデル」という用語を聞いた事があると思う
実は OSI は(普及する事なく歴史に埋もれて参照モデル以外は忘れ去られているけど)TCP/IPスイートと同様に
各レイヤーのプロトコルの定義から構成される通信アーキテクチャの一つであり、ISO/JIS規格化されている
この OSI は(米 IBM SNA 対抗として)欧州勢が関わった結果、概念としてよく整理されている

その概念の一部を紹介する(これら概念はデータリンク層からアプリケーション層まで一貫して適用される):
・ある層(レイヤー)の通信プロトコルが提供する機能の全体を「サービス(service)」と呼ぶ
・サービスには、それに関わる「エンティティ(entity)」がいて、
 それらは(サービスの)「提供者(provider)と利用者(user)」へと二分される
(今風の言葉であれば「オブジェクト」および「サーバとクライアント」になるだろう」
・通信の基本手順は以下の4段階になる:
 (1) 要求(requrest):
  利用者が利用者側サービスに対してある操作 XXX を「要求」すると、XXX要求メッセージが送信される
 (2) 通知(indicate):
  XXX要求メッセージを受信した提供者側サービスは、提供者へ操作 XXX の到着を「通知」する
 (3) 応答(response):
  提供者が操作 XXX を実行して結果を提供者側サービスへ「応答」すると、XXX 応答メッセージが送信される
    /* 注:返信だからメッセージの流れる方向が (1) とは逆で、「提供者側 -> 利用者側」になる */
 (4) 確認(confirm):
   XXX 応答メッセージを受信した利用者側サービスは、利用者へ操作 XXX の結果を「確認」する

もしも仮に極端に長い命名をしてみると今回のケースは (4) に該当するから、
たとえば confirm_received_response_message になる(が、常識的にはずっと短くできるはず)
参考まで
0754デフォルトの名無しさん2014/09/03(水) 22:39:39.90ID:4lP4Y8zk
色々ありがとうございます。
設計はそのままで、
execute,process,acceptあたりから選んでみます。
executeと似たrun?でもいいのかな。
0755デフォルトの名無しさん2014/09/03(水) 23:32:42.27ID:Uc8US433
>>748だけじゃ具体性が無さ過ぎて名前や設計が妥当かって言われても
何とも言いがたい、っていうのが正直なところ。

まあ、デシリアライズされる何物かは、(確かにメッセージの一部ではあるかも知れないが)
messageというよりcommandとかprocedureとかtaskとかprogramとか、そういう表現の方が
似つかわしいような印象は受けた。
0756デフォルトの名無しさん2014/09/04(木) 00:20:45.89ID:34rt8A6n
>>748
>スレタイからはずれますがクラスの設計が問題ならそこからお願いします。

クラス設計の観点であれば、Messgeオブジェクトの責務(responsibility)は
以下のようなものになると(自分は)考える:
・受信したバイト列をデシリアライズしてインスタンスを生成するコンストラクタ
・メッセージの各要素を読み出すゲッター
・デバッグ用途に人が読みやすい文字列に変換するインスペクタ
要するに、メッセージは状態を持たない不変(immutable)オブジェクトと見る

従ってクライアントの状態を管理するのはMessageではない他のオブジェクトであり、
今回の命名は(Messageクラスではなく)状態管理クラスのメソッドになる
そして、Messageインスタンスはそのメソッドへ渡すパラメタに位置付けられる

ここで状態管理という機能に着目すれば、GoF本のStateパターンが参考になるかもしれない
つまり状態管理オブジェクトはステートマシン(状態遷移機械)というモデルに抽象化され、
現在の状態(current state)と到着した入力イベント(input event)である受信メッセージの種別(=クラス)との
対(pair)から次の状態(next state)と出力イベント列(output event seqence)を導く関数として定義される
あるいは出力イベントの代わりにアクション(action)としてファイルI/Oや画面表示のような手続きでもいい
こうしてクラス設計自身の視点を変えてみると、また別の命名法則が見つかるかもしれない
0757デフォルトの名無しさん2014/09/09(火) 20:09:03.24ID:7RPsApF+
現在製作中のゲームにAI機能を搭載しようと考えています。
リアルな動作にするため、内部の位置情報等は変更せず、キー入力取得処理をラッピングして行おうと思っています。

そこで質問なのですが、毎フレーム呼び出されるAI思考処理関数の名前は何にすればよいでしょうか?
0758デフォルトの名無しさん2014/09/09(火) 21:07:14.51ID:L4bxOv/p
ai
0759デフォルトの名無しさん2014/09/09(火) 23:32:55.54ID:70J9lUkg
think()
0760デフォルトの名無しさん2014/09/10(水) 00:29:06.85ID:ohHbFiGY
ore_no_turn()
0761デフォルトの名無しさん2014/09/10(水) 01:21:49.97ID:wvbh+Zlp
Computer( )
0762デフォルトの名無しさん2014/09/10(水) 01:45:02.49ID:z9rHQd0p
dummyPlug()
0763デフォルトの名無しさん2014/09/10(水) 03:55:13.34ID:fZuRxqPv
yokeinaOsewa()
0764デフォルトの名無しさん2014/09/10(水) 20:01:14.90ID:4P4nKcPK
今さら感があるが、名前に数値を含む場合、みんなどうしてる?特に小数点。
例えばバージョン番号の1.001、2.03を表す定数に名前をつけるとき、
少数点を無視して
Version1001
Version2030(桁合わせしとく)
とか小数点をアンダースコアで
Version1_001
Version2_030
他になんかいい作戦があれば。まあ、使ってる言語に合わせるべきなんろうけど、
例えばC#だと基本キャメルケースだから、_とか使うとスネークケースになってかっこわるいし。
0765デフォルトの名無しさん2014/09/10(水) 20:06:19.35ID:z9rHQd0p
小数点数を変数名や定数名に含めた経験が未だ一度もない
0766デフォルトの名無しさん2014/09/10(水) 20:45:36.73ID:XlU9Qbkt
>>764
桁数が決まってるなら単純にドットを除いた表記にするのが一番わかりやすいと思う。

電気屋は小数点の箇所をSI接頭辞か単位で置き換えた表記をすることがある。

例) 4.7kΩ ⇒ 4k7、 1.0Ω ⇒ 1R0

場合によってはこの手法を借用するのも一つの手だと思う。
でも俺は俺はドットの代わりにpかxを使うことが多い。
0767デフォルトの名無しさん2014/09/10(水) 21:16:50.59ID:4P4nKcPK
>桁数が決まってるなら単純にドットを除いた表記にするのが一番わかりやすいと思う。
やっぱこれが無難かね

>電気屋は小数点の箇所をSI接頭辞か単位で置き換えた表記をすることがある。
こういう作戦は知らなかった
0768デフォルトの名無しさん2014/09/10(水) 21:20:45.24ID:Ulwkgj4+
バージョンが増えると変数が増えるわけ?
0769デフォルトの名無しさん2014/09/10(水) 22:02:20.74ID:8umVMwUd
>>764
今一度状況がよくわからんが
分かりやすさ優先で

> Version1_001
> Version2_030

かな
0770デフォルトの名無しさん2014/09/10(水) 22:30:25.44ID:MIzNsnl2
>>764
ローカル変数であれば、 xs1 とか foo_list_1 みたいな命名は普通にやる

小数点については >>765 と一緒なんだけど、
バージョン番号に限れば(外観は小数に見えても)その意味は整数の直積だから、
構造体(またはクラス)として定義するね

typedef struct version {
  int major;
  int minor;
  int tiny;
} version_t;

この構造体(クラス)と "0.03.0" のような小数点風形式との間で相互変換するのは、
関数(メソッド)の役目だと思う
0771デフォルトの名無しさん2014/09/10(水) 23:03:42.47ID:XlU9Qbkt
ハードウェアを直接触るようなコード書いてると名前に小数点を含めたくなる場合があるよ。

例えば何らかのアナログ値(電圧とか周波数とか)を複数の選択肢の中から選択する(あるレジスタに書き込む値によって
何らかのアナログ値が変わる)ってハードウェアで、そのオプションを表すレジスタの値に
名前を付けたい場合とかね。
0772デフォルトの名無しさん2014/09/11(木) 00:32:36.34ID:fbt1sRH0
辞書を使うのは? Version [1.001], Version [2.03]
Version1.001やVersion2.03のときの何かの値を表現したいということなら、
ドットが2個以上含まれないことが保証されているのであれば、辞書のキーを数字だけにして
Xxx [1.001] のようにし、そうでないならキーを文字列で Xxx ["2.03"] のようにする
0773デフォルトの名無しさん2014/09/11(木) 00:34:31.40ID:AhIHzbWm
例えば、.NETのSoketを作成するときにアドレスファミリ指定する時に
列挙値で指定するけど、
http://msdn.microsoft.com/ja-jp/library/system.net.sockets.addressfamily%28v=vs.110%29.aspx
現状IPv4,IPv6の列挙子はInterNetwork,InterNetworkV6になっててこの場合小数部ないけど、
これが小数部ある場合とか InernetWorkV61(バージョン6.1)
0774デフォルトの名無しさん2014/09/11(木) 00:38:58.84ID:AhIHzbWm
別にこれが列挙型ない環境なら定数値使っても表現するかもしれんし、
InternetWorkV40AddressFamily = 0;
InternetWorkV61AddressFamily = 1;
まぁ、こんな感じの状況です。
0775デフォルトの名無しさん2014/09/11(木) 00:40:57.01ID:AhIHzbWm
どうでもいいが、InternetWokじゃなくInterNetworkだったね・・
0776デフォルトの名無しさん2014/09/11(木) 16:42:12.00ID:ZRdF18oF
インターネットの仕事か
0777デフォルトの名無しさん2014/09/15(月) 14:39:19.02ID:GFNc7KKq
(インターネットください)
0778デフォルトの名無しさん2014/09/15(月) 14:47:13.23ID:Pqf9xwUW
(こ、こいつ直接回線に…!)
0779デフォルトの名無しさん2014/09/18(木) 20:11:36.87ID:KR02GDAs
TextBox
ComboBox
Label
ListView
を略す場合
tb, tbx
cb, cbx
lb, lbl
lv, lvw
など、2文字にするか3文字にするか迷います。もっと良い略し方ありますか?
0780デフォルトの名無しさん2014/09/18(木) 20:55:53.16ID:6/jIYBiS
txt, cmb, lbl, lsv かなぁ
文脈からGUIの部品だと解るなら、〜Boxは(有無で指すものが変わる場合を除いて)書かないや
0781デフォルトの名無しさん2014/09/19(金) 08:16:35.51ID:4xNLySpj
そもそも略さなくていい。

略すかと複雑なルールを導入するいちいち対応表みながらとコーディングの効率が
落ちるし、せっかく覚えても略し方なんてプロジェクトごとに違うんだし、悪い事だらけ。
略さないというシンプルなルールが一番。

前リーダーやったときは、最初略す方向だったが、略さないというルールに変えさせた。
0782デフォルトの名無しさん2014/09/19(金) 08:28:38.21ID:x9k5Y4zp
略さないで済む場合はそれでもいいが
だからといって変数名が20文字を越えるようなのを許せるかといったら
「?」なので難しい
0783デフォルトの名無しさん2014/09/19(金) 08:31:30.89ID:AY6829fb
ルールは社内で統一すれば混乱はなかろう

略したいってヒトに略すなって返す阿呆って同じプロジェクトに欲しくないよね
0784デフォルトの名無しさん2014/09/19(金) 13:51:14.40ID:4xNLySpj
そもそも、元からコントロール名が長い場合もあるが、メソッド名をつける場合は、動詞+目的語とかなったりで語数が
多くなりがちだが、コントロールにつける名前は単に前か後に名詞つけるぐらいだからな、20文字超えるとか
そう長くならん。

略そうとするから、人によって答えがまちまちな同じ人でも時期によって略し方が違って一貫性なかったりと、
永遠にすばらしい答えが出ないような問題に頭を痛めるだけ。
0785デフォルトの名無しさん2014/09/19(金) 14:58:33.95ID:vu3hsdI/
>>783
どんな頭悪い発想だよそれ
0786デフォルトの名無しさん2014/09/19(金) 16:36:24.01ID:qLhK9K3Q
許せるというか20文字でも短いと思うよ。
冠詞がなくPascal記法である他は普通に英文、英語句、英語節として成立するように書いて70文字に達したこともあるけど、
逆に言えば長々と書いてもその程度にしかならない。
0787デフォルトの名無しさん2014/09/19(金) 17:28:14.91ID:x9k5Y4zp
長すぎるとデバッグしにくくない?
あと実際にコンパイラが許す最大長ってどの程度なのだろうか
昔は31文字くらいとかいう話きいたことあったけど。
まあ今の時代、紙に出しコードレビューしたりしないから
コンパイラが許す範囲なら長くても問題ないのかもね
0788デフォルトの名無しさん2014/09/19(金) 20:18:26.82ID:N5HN8CGy
モニタやらエディタやら個人やらで大きく変わるだろうが、
人間の知覚を踏まえた上限とかもありそう。
0789デフォルトの名無しさん2014/09/19(金) 21:36:34.98ID:BlDn+hZG
コントロールのprefixはUxとかでいいよ

コントロールのprefixはそこそこ有用だと思うけど、種類毎にprefixを分ける必要はない
0790デフォルトの名無しさん2014/09/19(金) 22:51:51.34ID:+TddXvRn
>>785
会社だと普通だろ
ここ見ててもわかる通り、長いのが好きな奴も嫌いな奴もいるんだよ
両方満足できる解なんてないから、えいやーで決めるんだよ
0791デフォルトの名無しさん2014/09/19(金) 23:11:48.57ID:8wEvGeFT
>>790
>>783
バカだろお前。
0792デフォルトの名無しさん2014/09/19(金) 23:35:50.10ID:KfI2XP6A
>>791
無職乙
0793デフォルトの名無しさん2014/09/20(土) 16:39:56.77ID:uiyrzvHx
Windowsで、DS_CONTROLを設定して他のダイアログの中に置く子ダイアログに、
「○○Dialog」のような共通のクラス名を付けるとなると、
「Dialog」「Form」「Pane」以外でどのようなものが考えられますか?
0794デフォルトの名無しさん2014/09/20(土) 17:28:39.33ID:imyVY37b
component
widget
module
common
実際に使われているかどうかは知りません。
0795デフォルトの名無しさん2014/09/27(土) 15:57:20.42ID:9T+bpeNK
>>783
> ルールは社内で統一すれば混乱はなかろう

社内で統一?
実際は、それも非現実的だよ。

変数名のルールなんて、プロジェクトごとに違っていて当然。
社内で統一したルール作れるなんて、どんな小さい会社だよ。wwww


ライブラリとか外部委託で作ってもらった後、新しいプロジェクトではそれを改変する必要が生じた。
そういうときって、元のライブラリのルールにしたがって改変すればよいのに、
わざわざ、全ソースの変数名を変更して統一してからコミットすべきだ、、とかいう、頭の固いアホがいるよな。

それに時代が変わればルールも変わるけど、頭の固いアホは、対応できないんだよな。


> 略したいってヒトに略すなって返す阿呆って同じプロジェクトに欲しくないよね

そういう人は世界中の言語や習慣を一つに統一することが出来ると言い張るならば、がんばって欲しい。
0796デフォルトの名無しさん2014/09/27(土) 16:16:07.86ID:9T+bpeNK
>>790
> >>785
> 会社だと普通だろ
> ここ見ててもわかる通り、長いのが好きな奴も嫌いな奴もいるんだよ
> 両方満足できる解なんてないから、えいやーで決めるんだよ

ほんと。それで良い。
変数名のルールは、そのソースが関係しうる環境の領域を考えて、
関係領域内で良いと思うルールを採用すればよい。

つまり、
部署とか人ごとに、最適なルールは違う。
対象となる案件ごとに変数名のルールは違っていて当然。
さらに、時代によって変わるのが当たり前。

会社だと20年前のソースを改変する必要がでてくる。
その時にいちいち、変数名のルールが現在のルールと違うから気になる、とかアホな事言わないだろ。
普通、それくらい適応してよね、ばかっ!
社内でルール統一って、5年でつぶれるような弱小事務所の発想だよwwwww

もちろん、他部署を巻き込んでのAPIを作成するときは、取り決めつくるよ。
多くの人が関係するから統一ルールが必要。そういうのは社内で話し合う。
でも、APIの下は、APIと同じ命名ルールは使わない。
APIと直接の関係が薄いのにAPIのルール守ってたら、冗長で分かりづらい変数名となるんだよ。

Go言語で書かれたソース見てみろよ。変数名むちゃくちゃ短いだろ。www
要するに、郷に入れば郷に従え、ってやつだよ。wwww 意味分かるかなwwww 785には無理か。www
0797デフォルトの名無しさん2014/09/27(土) 16:48:25.57ID:UYNoFZrH
>>783が「頭が悪い」のは議論をするスレで議論を否定しているからだから。

2chに限らず、アホな初心者が「問題設定そのものが不適切だから別の手段を検討すべき」という回答者に
「俺が聞いたことだけ答えろ」と逆ギレして食って掛かってるのをたまに見かけるけど、>>783はそのアホと同じだね。
0798デフォルトの名無しさん2014/09/27(土) 17:08:47.05ID:9T+bpeNK
会社のプロジェクトとかだと、使う言語も異なるチームが複数あったりする。
そのときに、別の言語の慣習を持ってきて統一とかしない。
たとえば、Javaの命名法でC++書いたりとかRubyを書いたりとか普通しない。
だけど、統一しなくても、ソース見ればわりと素直に読める。
逆に言うと、全員同じ言語を使う場合でも、対象によって記述ルールがバラバラでも普通に読める。
互いに関係のある領域の内部で統一ルールがあれば、さほど混乱しないのだ。

つまり、プロジェクト内でコーディングルールは統一すべき、っていうのは幻想だったんだ。

ただし、もちろん、似たようなところは普通に同じルールで書くだろ?
似ているところは自然にルールが自然発生するので、それに従ったほうが楽になるからルールを定める。

つまり、プロジェクト内の狭い領域ごとにローカルルールを決める、っていうことで全然問題ない。

もう一度言う。 Goに入ればGoに従え。ありのままで Let it GO! The code never bothered me anyway!
0799デフォルトの名無しさん2014/09/27(土) 17:16:53.45ID:3M7EdKEu
現実を見ろよ。
今時、ソフトウェア開発なんてほとんど外注で内製するところなんて少ねぇよ。
外注で大きな開発だと、開発現場はいろんな会社の寄せ集めになるからな。
他の会社のクソ複雑なルール押し付けれても迷惑なだけだわ。
ルールはシンプルに越したことはない。
省略形の話なら省略しないというシンプルなルールに越したことはない。
0800デフォルトの名無しさん2014/09/27(土) 17:24:32.33ID:3M7EdKEu
つうか、省略形の話してるんだろ。
何もっと一般的な話に広げて当たり前の事言ってんだよ。

省略形の話は、省略の仕方なんて、適切な答えなんて永遠に見つからないだろうし、
おとなしく省略しないにした方がシンプルで誰でも覚えやすい。
会社で統一しようがしまいが、対応表が必要になるオレオレ省略形はうざいだけ。
0801デフォルトの名無しさん2014/09/27(土) 17:54:16.14ID:lPW3h7Pk
せめて変数名などの長さ制限だけはつけたほうがいいのでは?
長すぎたらデバッグしにくいって
0802デフォルトの名無しさん2014/09/27(土) 18:17:06.97ID:9T+bpeNK
元々のお題の質問者が >>779っぽいので、彼の期待に答えてあげて2文字か3文字の命名考えてあげようよ。

それに対して、 >>780 >>789とかは、なんとか質問者である779の期待に答えようとしている。
一方で、 >>781 は、あ、やっちまった、それは言わない約束だろ、またその話題始めるか?だなwww

この話題を創生した神様は >>779なんだから、彼の求めるものに沿って答えるのが絶対条件だよ。

だけど、まあ、確かに、2文字か3文字かに統一したくても、英語はそういう言語じゃないので難しいので、
そんなこと考えるのをあきらめさせてあげるのも、長く生きた者の仕事かもしれない。
ただ、これ以上は、>>1様に怒られるから、この辺でやめておこうぜ!

>>801

コンパイラ様とかエディタ様に怒られたら元も子もないけど、変数名の長さには今どきは寛容だなあ。
ターミナルの横幅を2画面いっぱいに広げてデバッグしている人もいるくらいだ。

ただ、長すぎると、>>788の言うように人間の知覚限界に達すると思われ。

一方で、70文字に達するような長い変数に巻かれるのも悪くない。
いや、 >>786 のことを悪く言っているのでない。むしろ、好きだよ。個性を出せるのは良い事だな。
変数の名前を、変数のありのままの姿で見せるのって素敵だよね。たまに自分もやるよ。 Let it Go!

ま、僕らのClassのリーダーが781だったら、781に従うしかないよね。 Goに入ればGoに従え。でもこのスレでは1に従え。 wwww
0803デフォルトの名無しさん2014/09/27(土) 18:20:29.28ID:njQ4/aGq
正直なところ、省略したい奴は省略すれば良いし、したくない奴はしなければ良いと思う。
気に入らないと思う奴は、自分の責任で名前変更すれば良い。
決める必要はないよ。
ぶっちゃけやったもん勝ち。
0804デフォルトの名無しさん2014/09/27(土) 18:23:45.38ID:njQ4/aGq
>>802
何と?!
元々は>>779だったのか…orz
0805デフォルトの名無しさん2014/09/27(土) 18:28:40.64ID:3M7EdKEu
ここのスレには、もっといい名前がないかを求めて集まってるんだろ?

だから、ルールを決めるのは当たり前で、>>783みたく「ルールを決めるれば問題ない」で終わるなら誰でも知ってることだし
意味ないね。

その決めるルールをどうすればわかりやすくなるかってのが本題だろ?

まぁ、省略形の場合は、俺は答えの出なさそうなものは考えたくないんで、
ということで省略好きの人、後は頼んだわ。
0806デフォルトの名無しさん2014/09/27(土) 18:33:20.73ID:lPW3h7Pk
自由にしたら
たとえばdatabaseをDBと書くこともタブー?
こういった曖昧な部分は結局、内部で統一するってことにならないかな?
とは、思う。
0807デフォルトの名無しさん2014/09/27(土) 18:34:18.94ID:DXaZxPH6
#include <dlgs.h>
0808デフォルトの名無しさん2014/09/27(土) 18:53:00.28ID:BDVmPomL
>>796
あまりに前だと、変数名が連番で「意味は変数表見てね」だったりもするがなw
0809デフォルトの名無しさん2014/09/27(土) 19:46:19.16ID:HWGMBFJT
>>805
だから

> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

ってなってる。
なので、その手の話はスルーでよろしく。
08107832014/09/27(土) 20:14:32.36ID:vm9Z+jCy
なんか色々云われてるけど
「社内で統一すれば」ってのは>>781が「プロジェクト毎に違うと混乱する」ってのに対してだから
誰でも知ってるとか当たり前とか、むしろ俺も思ってたわ
08117832014/09/27(土) 20:15:30.40ID:vm9Z+jCy
なんか色々云われてるけど
「社内で統一すれば」ってのは>>781が「プロジェクト毎に違うと混乱する」ってのに対してだから
誰でも知ってるとか当たり前とか、むしろ俺も思ってたわ
08127832014/09/27(土) 20:16:57.35ID:vm9Z+jCy
なんか色々云われてるけど
「社内で統一すれば」ってのは>>781が「プロジェクト毎に違うと混乱する」ってのに対してだから
誰でも知ってるとか当たり前とか、むしろ俺も思ってたわ
08137832014/09/27(土) 20:20:52.11ID:vm9Z+jCy
なんか回線の調子が悪くて3回も書き込んでしまった。すまない
08147832014/09/27(土) 20:21:57.34ID:vm9Z+jCy
なんか回線の調子が悪くて3回も書き込んでしまった。すまない
0815デフォルトの名無しさん2014/09/27(土) 20:24:22.37ID:aElzcEyC
超大事なことなのかとw
0816デフォルトの名無しさん2014/09/27(土) 20:32:22.76ID:3M7EdKEu
>>809
じゃ、良し悪しは議論しなくても案だけはだせばいいじゃん
0817デフォルトの名無しさん2014/09/27(土) 21:58:23.63ID:2YkqVza8
>>816
出してるでしょ? ⇒ >>780 >>789
自分に都合の悪いことは見ない主義?
0818デフォルトの名無しさん2014/09/27(土) 22:19:27.55ID:3M7EdKEu
>>817
見えるに決まってるだろ。馬鹿なの?
0819デフォルトの名無しさん2014/09/27(土) 22:58:55.92ID:2YkqVza8
なら、なんで
> 案だけはだせばいいじゃん
何て言ってるの?
ひょっとして、日本語不自由とか w
0820デフォルトの名無しさん2014/09/27(土) 23:45:15.48ID:3M7EdKEu
>>819
馬鹿すぎるな・・・

何で案が全くでてない、出てるの2択でしか物事考えられないわけ??
0か1の2択じゃねぇんだよ。
案がいろいろあるに越したことないんだから、あれば、もっとどんどん出せばいいんじゃんって言ってるんだよ。

アスペはややこしくなるからROMってた方がいいよ。
0821デフォルトの名無しさん2014/09/27(土) 23:46:40.37ID:3M7EdKEu
馬鹿に絡まれるとメンドクせぇな
0822デフォルトの名無しさん2014/09/28(日) 06:43:04.83ID:lwUZotcA
と、自分ではなにもできない奴がほざいております w
0823デフォルトの名無しさん2014/09/28(日) 07:43:24.90ID:kOgp2LjF
connectDBServerと書くべきか
connectDatabaseServerと書くべきか
0824デフォルトの名無しさん2014/09/28(日) 07:55:53.66ID:g7kqlVfq
DBのような一般的過ぎる略記は他に被らない限りいいんじゃないか
ドラゴンボール関連ソフト作ってるとかじゃなければ
0825デフォルトの名無しさん2014/09/28(日) 10:25:32.54ID:lwUZotcA
>>824
> ドラゴンボール関連ソフト

くそっ、こんなもんで笑てしもたわ
0826デフォルトの名無しさん2014/09/28(日) 11:14:59.38ID:S/0Fqo3+
Palm Pilot のCPUの名称は Dragonball とか Dragonball Z だった。
設計者がファンだったからとかいう話だ
0827デフォルトの名無しさん2014/09/28(日) 11:45:33.69ID:aHqIL97A
>>825
全然おもしろくないだろ。知能低すぎw
0828デフォルトの名無しさん2014/09/28(日) 12:25:47.14ID:lwUZotcA
>>827
ゆとりないんだな...
なにカリカリしてるんだよ w
0829デフォルトの名無しさん2014/09/28(日) 13:21:02.02ID:aHqIL97A
突然の根拠のない煽りをしたら速攻反応してきた。耐性なさすぎwwゆとりないのはおまえだろww
0830デフォルトの名無しさん2014/09/28(日) 13:59:46.52ID:RpCDBRzc
>>824
ドラゴンボールワロタ
0831デフォルトの名無しさん2014/09/28(日) 14:38:27.30ID:lwUZotcA
>>829
> 突然の根拠のない煽りをしたら

嵐カミングアウトキター w
0832デフォルトの名無しさん2014/09/28(日) 15:01:11.43ID:aHqIL97A
突然の根拠のない煽りに即効反応しときながら、
他人にはゆとりないとか言い出す始末www
馬鹿すぎるwww
0833デフォルトの名無しさん2014/09/28(日) 15:20:02.51ID:HZhyP8Iq
毎回言うが、こういう幼稚で何が面白いのかさっぱり分からんやり取りが続いている時には絶対

----
>>1
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
----

この「繰り言」を書く馬鹿は沈黙を守る件。
語るに落ちてる。
0834デフォルトの名無しさん2014/09/28(日) 15:43:21.57ID:lwUZotcA
似たようなレスは要らんよ、つまんないから
まあ、ゆとりの意味もちゃんとわかってなさそうな奴に気の利いたレスは無理かなぁ w
0835デフォルトの名無しさん2014/09/28(日) 15:46:04.88ID:aHqIL97A
突然の根拠のない煽りに即効反応しときながら、
他人にはゆとりないとか言い出す始末www
馬鹿すぎるwww
0836デフォルトの名無しさん2014/09/28(日) 17:53:28.91ID:ywKQU/yn
>>825
ドラゴンボールのゲームなら沢山出てるから、それらのソースコードにはドラゴンボールの意味でDBとかあるかも知れんな
0837デフォルトの名無しさん2014/09/28(日) 18:39:12.66ID:lwUZotcA
>>835
同じ内容を繰り返しレスして相手が飽きるのを待つ方法か
嵐のなかでも最低ランクだな w
0838デフォルトの名無しさん2014/09/28(日) 18:40:04.33ID:PUvC4G1R
最近のゲームはゲームエンジンとスクリプトで名前空間も用語辞典も別になってそう。
0839デフォルトの名無しさん2014/09/28(日) 22:22:38.58ID:7l8T0ZRH
>>826
> Palm Pilot のCPUの名称は Dragonball とか Dragonball Z だった。
> 設計者がファンだったからとかいう話だ

おおっ!知らなかった!!!マジかよ!!
Dragonballって、Motorola社のCPUだよな。
いくら設計者の一人がファンっつていったって、あのCPUには何十億円もの開発費と製造費と、何百人もの人と、
会社の命運がかかっていたはず。
アメリカ人jは、やることがアメリカンだ。


もうね、クラス名って、キリンとかゾウとかでいいんじゃね?
横に長い入力フォームは、アナコンダとか。
0840デフォルトの名無しさん2014/10/02(木) 12:13:13.43ID:L7uTgwGi
クラス名は適当でいいんだよ
トゲアリトゲナシトゲトゲ
0841デフォルトの名無しさん2014/10/02(木) 18:33:36.78ID:UOfoAcWI
連番とか通し番号、識別番号は勘弁して欲しいけどねw
0842デフォルトの名無しさん2014/10/02(木) 21:23:46.95ID:P3M8t66+
>>841
大丈夫。パスワード生成機でアルファベットを含めランダムにしといた。
0843デフォルトの名無しさん2014/10/04(土) 17:09:44.64ID:Hn6knk0J
プログラムをインストールするソフトは
インストーラー
インストーラ
のどっちでしょうか?
0844デフォルトの名無しさん2014/10/04(土) 17:17:04.07ID:BEJ4VNAg
"インストーラー" でぐぐると 661,000 件
"インストーラ" でぐぐると 732,000 件
大差ないのでどっちでもいい
0845デフォルトの名無しさん2014/10/04(土) 17:39:36.88ID:Hn6knk0J
ありがとうございます。
インストーラにします。
でも、インストールは、どうして日本語で言わないのでしょうかね?
何かを削除するソフトなら、削除ソフトとか言うのに、アプリを入れるソフト
は、インストーラに対応する日本語が無いですよね?何でかな?
0846デフォルトの名無しさん2014/10/04(土) 17:53:52.95ID:D8SnApic
導入ソフトじゃないかね
0847デフォルトの名無しさん2014/10/04(土) 18:41:20.90ID:qpaDPuoT
カタカナで三文字以上は最後の長音を省くとか、最近のMicrosoftのガイドラインではやっぱり付けることになったとか
方針があった気がする。JISにもなんかあった。
0848デフォルトの名無しさん2014/10/05(日) 13:31:14.73ID:aLPuX/ow
抽象的で悪いが
なんかのenum系の名前で、種別のときいつも悩む

HogeKind
HogeType

あるいはそういうのなしでやるべきか

Hoge (他の型名とかぶることが多い)

いったいどうしたらいいんや
0849デフォルトの名無しさん2014/10/05(日) 14:32:37.85ID:9ZEI+JeQ
>>848
名前空間はないのかい
0850デフォルトの名無しさん2014/10/05(日) 16:25:56.55ID:QxQMnlB+
俺はだいたい Type を付けてる
enum HogeType { HOGE_TYPE_FAST, HOGE_TYPE_RECURSIVE, HOGE_TYPE_ERRORCHECKED };
Hoge *createHoge(HogeType type);
こんな感じ?
0851デフォルトの名無しさん2014/10/05(日) 17:32:47.95ID:goYKOcju
>>848
他の型名と名前がかぶるケースってのがちょっと思いつかないね。
具体例があった方が議論しやすい。
0852デフォルトの名無しさん2014/10/05(日) 20:05:50.03ID:RFQS974S
横からだけど、unionとその内容を示すタグ用enumとかじゃない?
0853デフォルトの名無しさん2014/10/17(金) 11:45:00.70ID:aQbyk91/
国語、数学、理科、社会,体育
これを英語で書きたいけど、普通なんて書いてる?
0854デフォルトの名無しさん2014/10/17(金) 12:01:08.87ID:VJkBDda+
>>853
科目なんて増減するんだから名前つけて埋め込んじゃイカンよ
0855デフォルトの名無しさん2014/10/17(金) 13:26:43.79ID:iB4b7sGu
>>853
JapaneseLanguage, Mathmatics, Science, SocialStudies, HealthAndPhysicalEducation
辞書を引けよ。中学生レベルの単語熟語が載ってない辞書はそうそうない。
それとも上記の語は知っている上での質問だったら、そのように書くべき。
0856デフォルトの名無しさん2014/10/17(金) 14:54:44.62ID:Mv3N7Kx9
約して書くには、どうすればいいか聞いてるんだろ?
0857デフォルトの名無しさん2014/10/17(金) 15:46:41.24ID:qulAOgb8
国語=National language
0858デフォルトの名無しさん2014/10/17(金) 16:13:04.94ID:iB4b7sGu
だったら、省略が必要だって書いたらいいんだよ。そのくらいの日本語、書けるだろ。
顔を合わせてしゃべっているわけじゃないのだから、変数の名前等に限らず、何でもかんでも大した理由もなく省略しようとするな。
回答者はどっちみち不完全な文章から推定しなきゃならんのだから、(例えばアメリカ人にとっての国語は English なわけだが)
質問者は少しでも完全な文章に近づくよう気を遣って書いて欲しいものだね。

それと訂正、体育だけなら PhysicalEducation だな。保健体育のを書いてしまった。
0859デフォルトの名無しさん2014/10/20(月) 20:24:51.59ID:y1ndhwV1
変換がめんどいんだよ
0860デフォルトの名無しさん2014/10/23(木) 18:09:21.39ID:52QNgvif
とあるデータについて、そのデータの作成日よりx日経過していたら
変更不可とする場合、x日を定数として持ちたいのですが名前候補をお願いします。
0861デフォルトの名無しさん2014/10/23(木) 18:46:58.64ID:dudT4DmB
changeable_days
0862デフォルトの名無しさん2014/10/23(木) 18:55:03.91ID:lcXf3Dow
thresholdでごまかす
0863デフォルトの名無しさん2014/10/23(木) 19:02:27.61ID:52QNgvif
>>861
ありがとございます

>>862
win10しか頭に出てこなくてピンと来ないっす
0864デフォルトの名無しさん2014/10/23(木) 19:14:10.21ID:8Gniu0cu
numberOfEditableDaysSinceCreated
0865デフォルトの名無しさん2014/10/23(木) 19:29:34.61ID:Yo+YGFrD
expires
0866デフォルトの名無しさん2014/10/23(木) 20:00:21.22ID:d09AKz5L
FloatingDays
0867デフォルトの名無しさん2014/10/23(木) 20:29:28.82ID:M17paAGv
>>860
(Max)DaysForModify
(Max)DaysToSettle
DaysOfGrace
0868デフォルトの名無しさん2014/10/23(木) 20:33:33.50ID:lcXf3Dow
閾値、Threshold。x日という境界となる値で、ごまかすにはぴったりじゃん。
http://e-words.jp/w/E996BEE580A4.html
0869デフォルトの名無しさん2014/10/23(木) 20:48:11.49ID:M17paAGv
閾値ってのは普通オフセットじゃなくて絶対値のことだし、n日までなのかn日からなのか
判断ができない。
0870デフォルトの名無しさん2014/10/23(木) 21:15:10.04ID:lcXf3Dow
オフセットか絶対値かは軸の取り方次第でしょ。
>n日までなのかn日から
これは、ごまかすんだからしょうがない。
0871デフォルトの名無しさん2014/10/23(木) 21:19:06.62ID:lcXf3Dow
つうか、ローカルな変数・定数じゃなそうだから、さすがにthresholdは
ごまかし過ぎだったわ
0872デフォルトの名無しさん2014/10/23(木) 21:32:52.97ID:d2dt+BtO
threshold便利なのには同意する。
valueとあんま変わらないが、なんか名前っぽいのが誤魔化しポイントだ。
0873デフォルトの名無しさん2014/10/23(木) 21:58:58.49ID:e7Px47V+
ぽまえらさぁ…。ネタなのかマジなのか。

こういうときってのはね、局所化されてればいいの。
それで十分なの。x日記入箇所が一箇所になってたら目的達成なの。
FileChecker editable = new FileChecker() {
public bool check(File f) {return 差分 < 5} // 五日未満ならtrue
};
クライアントコード側で、これ書いときゃあ解決なの。悩まなくていいの。
こうやっときゃあ、判断する側はeditable.check(file)すればいいだけ。
付けにくい名前に悩むことも、使う側であやふやで妙な名前を使うこともない。
0874デフォルトの名無しさん2014/10/23(木) 22:16:13.28ID:lcXf3Dow
>>873
それは設計の話になっちゃうけど。
賢いな、久しぶりに勉強になった。
0875デフォルトの名無しさん2014/10/23(木) 22:27:14.93ID:d2dt+BtO
>>873
その5を定数で宣言しておいてメンテする人が変えやすいようにって話だろ。
0876デフォルトの名無しさん2014/10/23(木) 22:27:51.18ID:d2dt+BtO
変えやすいというか探しやすいも含むか。
0877デフォルトの名無しさん2014/10/23(木) 22:32:11.90ID:M17paAGv
っていうか言うに事欠いてcheckってw
絵に描いたようなダメグラマの思考だなw
0878デフォルトの名無しさん2014/10/23(木) 22:46:01.90ID:e7Px47V+
ぽ、ぽまいら〜。

>>874 おまいは分かってる。
>>876 おまいは多分、今はもう分かってる。
>>877 おまいはあと五年したら分かる。
0879デフォルトの名無しさん2014/10/23(木) 22:49:30.74ID:TlwsOIIx
余計な変数増やさない、既存の変数から計算できるならそうする。
0880デフォルトの名無しさん2014/10/23(木) 23:01:04.47ID:Hh38ICjQ
名前候補求められて名前出ししたらネタ扱いとかそれこそネタなのかと
0881デフォルトの名無しさん2014/10/23(木) 23:45:29.25ID:e7Px47V+
>>880
ネタだよ?(真顔)
0882デフォルトの名無しさん2014/10/30(木) 14:40:41.09ID:7qr0TWWn
ユーザーが記事を編集できるか真偽を返すArticleオブジェクトのメソッド名はどうしたらいいでしょうか?
article.can_edit(user) みたいな使い方を考えています。can_edit は何か違うような気がして…。
0883デフォルトの名無しさん2014/10/30(木) 14:50:32.24ID:r2epw1Qm
editableのほうが好き
0884デフォルトの名無しさん2014/10/30(木) 15:40:02.62ID:K4be/C8I
c++でメンバ変数には m_ みたいなのを
必ず付けるべきでしょうか?
0885デフォルトの名無しさん2014/10/30(木) 16:05:09.92ID:i1YUZWVU
>>882
それはユーザ別に真偽を返すの?


>>884
それはコーディング規約、命名規則の範疇
個人レベルなら好きにすればよろし

個人的にはオレは付けない
0886デフォルトの名無しさん2014/10/30(木) 16:10:02.37ID:QJEzbmXX
付けない人はキライ
0887デフォルトの名無しさん2014/10/30(木) 20:10:16.40ID:5ulE5Y9d
>>882
なんか妙なメソッドのような気もするけど...
要するに「できるかどうか」じゃなくて「許可するかどうか」じゃないのかね。
というわけで、

AllowsToEdit
PermitsToWrite
LicensesToModify
0888デフォルトの名無しさん2014/10/30(木) 20:23:27.86ID:i+ThHd1y
>>882
プロパティ名で
IsEditable
0889デフォルトの名無しさん2014/10/30(木) 20:29:22.59ID:CaPdDXNn
referrerにするべきかrefererにするべきかよく悩む。今度Redditにティム・バーナーズ=リーが来たら聞いておこう。
08908822014/10/31(金) 15:50:36.98ID:4mTLhp2d
>>883 >>888
isEditableいいですね。使わせていただきます。
ありがとうございました
0891デフォルトの名無しさん2014/10/31(金) 15:57:28.25ID:EAvtXQzc
IsProtectedのほうが好き(ワガママ)
0892デフォルトの名無しさん2014/10/31(金) 16:13:42.76ID:2qjzTgK2
XXに対して編集を許可するかどうかを表す値を返すメソッドに対して、「編集できるかどうか」
なんて意味の名前を付けるのはやっぱりかなり変だと思うけどねw

こういうところにセンスって出るよね。
0893デフォルトの名無しさん2014/10/31(金) 16:48:39.45ID:YGNpUhMX
bool値返すプロパティのゲッターだろ? おかしくなくね?
0894デフォルトの名無しさん2014/10/31(金) 17:08:44.86ID:6O2gHEcS
>>882
設計の話になって申し訳ないが、編集できるかどうかの判定は記事のみの属性でいいの?
たとえば、「誰でも編集できる記事」「筆者のみ編集できる」「誰も編集できない」とか。
0895デフォルトの名無しさん2014/10/31(金) 17:16:27.82ID:EAvtXQzc
>>892
どうせ↓みたいなのと対になるようなゲッターだろうから別にいいんでは?
article.edit({編集内容}, user)
editContext = article.openEdit(user)
ようは編集の際に必要な情報をあたえて「編集できるの?」って問い合わせてるだけじゃん
0896デフォルトの名無しさん2014/10/31(金) 17:47:22.42ID:2qjzTgK2
>>895
「編集できるかどうか」は、編集者側から見た見解であって編集される側からのものではない。
だから「Articleオブジェクトのメソッド名」としては違和感がある。

staticか編集者側のメソッドの名前であれば問題ないと思う。
08978822014/10/31(金) 17:54:55.03ID:4mTLhp2d
捕捉します。Articleはuser_id(書いたUserのid)を持ってます。
書いたUserにだけ編集を許可したくてこんな風に書いてます。
function メソッド(user) {
 return this.user_id == user.id;
}

UserにArticleを渡したほうがいいんでしょうか。
なんだかわからなくなってきました。
0898デフォルトの名無しさん2014/10/31(金) 18:07:02.00ID:EAvtXQzc
>>896
The user can edit (the article).
The article is editable (by the user).
だからcanEdit()は変だけどisEditable()は変じゃないと思うが
0899デフォルトの名無しさん2014/10/31(金) 18:20:29.81ID:a4e/cHmb
>>892
acceptだと受け入れるかどうかだし許可に類する単語だと権限があるかどうかのチェックみたいだからプロパティ名としてeditable。
どうせアクセッサなのでゲッタはbooleanならだいたいisってのは矛盾はないと思うけど、変てのは「許可」が何を表してるか解釈の違いかね。

たとえばセキュリティコンテキストがデフォルトで備わってるjavaだとcanFooやisFooがtrueで「可能」を表していてもそれとは別に
セキュリティ上権限がないとパーミッションチェック(checkFoo)に弾かれるからこれら3つのメソッドは全部別のものを表してるけどそれらは全部「可能」であるかを調べてる。
しかも、ひとつの同じ操作Fooに対して。

実装上でedit関数がcanEdit呼び出してそれがeditableプロパティ見た上でパーミッションも見るっていうのは先の理由でjavaだと普通だから>>894の例えの問題も必ずコミコミだよ。
0900デフォルトの名無しさん2014/10/31(金) 18:23:52.73ID:eins8nq/
ぽ、ぽまいら〜。
いや、なんでもない。
0901デフォルトの名無しさん2014/10/31(金) 18:40:12.35ID:2qjzTgK2
>>898
なるほど。
isEditableByならありかもしれない。
0902デフォルトの名無しさん2014/10/31(金) 19:57:45.08ID:LLuxCAcV
設計の話だけど、禁止するためだけなら例外投げるな。
事前に知らせたいならisEditable。
0903デフォルトの名無しさん2014/11/01(土) 00:16:20.95ID:4JVkv4BN
アクセス権に関する述語ならば writable、isWritable、canWrite あたりかな?

編集可否があるってことは、閲覧可否などもあるんじゃないかな
その場合は browsable とか viewable にするのかな?
それよりも readable と writable の組合せで考えたほうが、
アクセス制御の論理は単純になると思う
0904デフォルトの名無しさん2014/11/01(土) 08:31:06.00ID:2wkPsVas
お小遣いを計算する専用のクラス名は何がいい?
MoneyManagerにしているんだけどダジャレっぽくてヤダ
0905デフォルトの名無しさん2014/11/01(土) 08:53:43.37ID:fnbcpSuD
CacheManager→絶対別のモノ想像するだろな
ベタなやつでAccountBookか
もうOkozukaiManagerとかでもいいんじゃね
0906デフォルトの名無しさん2014/11/01(土) 08:56:55.75ID:fnbcpSuD
cash違いorz…これは酷いな
0907デフォルトの名無しさん2014/11/01(土) 08:58:45.06ID:PKeBjNea
Walletは?
0908デフォルトの名無しさん2014/11/01(土) 09:01:52.20ID:O0oCkbTq
> お小遣いを計算する専用のクラス

↑これがまったく得体が知れないんだがw
0909デフォルトの名無しさん2014/11/01(土) 09:04:41.85ID:fnbcpSuD
Wifeとかな
0910デフォルトの名無しさん2014/11/01(土) 10:29:22.53ID:1cXKFWWG
Functionsでいいよ。
どうせそんな使い方してんだろ。
0911デフォルトの名無しさん2014/11/01(土) 13:44:12.95ID:8LM95rGS
>>904
大蔵大臣
勘定奉行
0912デフォルトの名無しさん2014/11/02(日) 14:20:22.82ID:OZDscBni
poket money exchanger

どや?かっこええやろ?(適当
0913デフォルトの名無しさん2014/11/02(日) 18:53:31.74ID:q60nWMQW
>>904
class Money
def add
def sub
def get
0914デフォルトの名無しさん2014/11/02(日) 22:38:51.53ID:EMPZgNct
学校の各、教科名ってどうすればいい?
3文字で・・・
0915デフォルトの名無しさん2014/11/02(日) 22:49:33.50ID:MIuyi4W9
>>914
>>854
0916デフォルトの名無しさん2014/11/02(日) 23:49:10.48ID:/iiShRJm
>>913
Moneyだけが一番無難かも
>>912
外国人に笑われそう
>>911
ちょっと大げさかな
>>910
その通りなんだけど名前をつけたい
>>909
妻は他に料理や洗濯もするので限定的な使い方には向いてない
>>908
月々のローンや収支の計算など
0917デフォルトの名無しさん2014/11/03(月) 00:31:46.76ID:Kyr+boyb
帳簿でexcite先生に聞いてみたらaccount book だった
0918デフォルトの名無しさん2014/11/03(月) 00:35:06.97ID:PTw1gvAt
accountant 会計士という意味
0919デフォルトの名無しさん2014/11/03(月) 01:29:57.41ID:laQwFWp0
accountはわかりにくいなあ、それに計算をするクラス名って感じでもない
オブジェクト名ならいいだろうけど

海外サイトを見てみるとmoneyをクラス名にしている人が多かった
walletは支払いの意味合いで使っている人が多かった
0920デフォルトの名無しさん2014/11/03(月) 05:59:14.08ID:N8nh943t
kanegon
0921デフォルトの名無しさん2014/11/03(月) 09:58:35.51ID:xQ/V0aEU
>>4
> if(isUnching = 1){
それはバグだ!

こう書くべき
 if(1==isUnching){
0922デフォルトの名無しさん2014/11/03(月) 12:24:22.49ID:A52aAR8O
cyfoo // 財布〜
0923デフォルトの名無しさん2014/11/04(火) 18:47:47.17ID:jFs9v9Ko
EXCELのVBAで以下のような機能の関数の名前で悩んでいます。
(1) 選択したRangeのアドレス "B3:D10" を "B3" と "D10" に分ける関数
(2) 一つのCellのアドレス "B3" を "B" と "3" に分ける関数
(3) 行番号を示す文字 "B" を数字の行番号2に変換する関数
今は、日本語の関数名にしているのですが、ちょっと変なので英語で良い名前ありますか?
0924デフォルトの名無しさん2014/11/04(火) 18:54:36.79ID:PZYznJJK
>>923
1と2はsplit。Javaだと↓こんなんがある。
public String[] split(String regex)
たとえば、次の式を指定した場合の、文字列 "boo:and:foo" の結果を示します。

正規表現 結果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
VBA知らんけどsplit(s, regex)みたいなんで十分かも。
正規表現不要だったらsplit(s, sep)みたいな?

3はcolumnname2indexみたいな?
0925デフォルトの名無しさん2014/11/04(火) 20:52:21.89ID:wgVqX7zC
>>923
ExtractTopLeftAddr(ess)
RectRangeToTopLeft

ExtractBottomRightAddr(ess)
RectRangeToBottomRight

AddessToRow
AddressToColumn

まあ、場合によったら関数じゃなくて、例えばRectRangeInfoとかCellInfoみたいなクラスを作って
目的のものはそのプロパティから取得するようにしたほうがいいかも。
0926デフォルトの名無しさん2014/11/04(火) 21:21:32.82ID:3GD0prLV
>>923
> EXCELのVBAで以下のような機能の関数の名前で悩んでいます。

そもそも、VBA は複数の値を返せないけど、そこはいいんだよね?

> (1) 選択したRangeのアドレス "B3:D10" を "B3" と "D10" に分ける関数

SplitTopLeftAndBottomRight( )
長いなら SplitTL_BR( ) とか適当に省略

> (2) 一つのCellのアドレス "B3" を "B" と "3" に分ける関数

SplitColumnAndRowAddress( )

> (3) 行番号を示す文字 "B" を数字の行番号2に変換する関数

ConvertColumnNameToNumber( )

> 今は、日本語の関数名にしているのですが

それ晒しなよ

>>924
> 1と2はsplit。

VBA はオーバーロードできないから
0927デフォルトの名無しさん2014/11/04(火) 21:49:25.21ID:Rj2WPKoM
>>923
>(1)
SplitRangeHead(B3:D10) → "B3"
SplitRangeTail(B3:D10) → "D10"

LeftTop/RightBottomだと B10:D3 みたいな指定のとき混乱するので
B10:D3 のとき B3 や D10 を返したいなら LeftTop/RightBottom で

>(2)
SplitRow(B3) → "B"
SplitColumn(B3) → "3"

>(3)
(行番号じゃなくて列番号だよね?)
excelのcolumn関数ってVBAで使えないの?
たとえばcolumn(D10)の結果が4だけどそれじゃダメなの?
VBAでexcel関数が使えないなら、それにならって Column って命名するかな
0928デフォルトの名無しさん2014/11/05(水) 01:41:37.67ID:0TiMI9W3
 
お世話になります。
私、責任者の加茂と申します。以後、宜しくお願い致します。
http://www.apamanshop.com/membersite/27009206/images/kamo.jpg
浪速建設様の見解と致しましては、メールによる対応に関しましては
受付しないということで、当初より返信を行っていないようで、今後につい
てもメールや書面での対応は致しかねるというお答えでした。
 
このように現在まで6通のメールを送られたとのことですが、結果一度も
返信がないとう状況になっています。
 
私どものほうでも現在までのメール履歴は随時削除を致しております
ので実際に11通のメールを頂戴しているか不明なところであります。
  
・ハンガー・ゲーム   http://s-at-e.net/scurl/TheHungerGames-Aircraft.html
・アバター        http://s-at-e.net/scurl/Avatar-Shuttle.html
 
・艦これ   http://s-at-e.net/scurl/KanColle.html
・BRS     http://s-at-e.net/scurl/BRS.html
・ベヨネッタ http://s-at-e.net/scurl/BAYONETTA.html
・風ノ旅ビト http://s-at-e.net/scurl/JOURNEY.html
 
      http://s-at-e.net/scurl/kabetokyojinto.html
 
・2012    http://s-at-e.net/scurl/2012.html
 
大阪府八尾市上之島町南 4-11 クリスタル通り2番館203
に入居の引きこもりニートから長期にわたる執拗な嫌がらせを受けています。
この入居者かその家族、親類などについてご存知の方はお知らせ下さい。
[email protected]
0929デフォルトの名無しさん2014/11/05(水) 11:02:44.58ID:4udmyCtX
>>923
SplitRangeAddress
SplitCellAddress
GetColNum
0930デフォルトの名無しさん2014/11/08(土) 17:45:44.37ID:6mAHE7MV
なにかを作る系ってどんなのがあるだろ

Maker
Creator
Factory
Opener
Provider
0931デフォルトの名無しさん2014/11/08(土) 17:53:18.51ID:ebCh2W7f
generator
producer
builder
0932デフォルトの名無しさん2014/11/08(土) 18:46:43.98ID:eblw/AlX
composer
manufacturer

craftsman, cratfworker, craftmaster
carpenter
writer, painter, author, edtor
designer, architect

趣旨からずれたかな...?
0933デフォルトの名無しさん2014/11/10(月) 14:14:46.07ID:Y3LQDnZk
めんどくさいから
Tsukurerで。
0934デフォルトの名無しさん2014/11/10(月) 18:57:21.86ID:XQ5W5cS7
多数決を取るときquantityでいい?
Aはx個である。Bはy個である。
x個よりy個のほうが多いので処理Bを実行します。
0935デフォルトの名無しさん2014/11/10(月) 19:00:36.90ID:fQKS6s9K
majorityでいんじゃん
0936デフォルトの名無しさん2014/11/10(月) 19:21:33.60ID:XQ5W5cS7
ハイ
0937デフォルトの名無しさん2014/11/10(月) 19:41:29.89ID:pQa8nIrM
>>934
多数決かどうかなんてどうでもいいでしょ。
多数決で何を決めるかの方が重要。
多数決で何かを決めるメソッドが複数あったらどうするの?
多数決1、多数決2とかするの?w
0938デフォルトの名無しさん2014/11/10(月) 20:26:41.61ID:XQl/5ZaM
937は無視して可
0939デフォルトの名無しさん2014/11/10(月) 21:03:38.54ID:XQ5W5cS7
( ゚∀゚)o彡°
0940デフォルトの名無しさん2014/11/10(月) 21:29:41.33ID:pYt7RX8n
>>937も一理あるが、2箇所あったら多数決という処理自体は他のクラスやメソッドに委譲してもいいよな。そしたらそっちに名前付ける。
0941デフォルトの名無しさん2014/11/11(火) 11:33:13.79ID:A6oJ5TwJ
>>937
> 多数決かどうかなんてどうでもいいでしょ。
Strategyの話では?

> 多数決で何を決めるかの方が重要。
だとすれば、何を決めるかは意識しなくて良い。
0942デフォルトの名無しさん2014/11/12(水) 02:51:49.02ID:PIfL7txH
編集できるかどうか、てのは isEditable とかになると思うんだけど、
以下の二つの状況を区別する必要があるときって、どっちを isEditable にして、もう一方の名前をどうするべきなのかね
(1)そもそも編集可能かどうか
(2)今現在編集できる状態かどうか
例えば「(1)編集はできるんだけども、(2)今現在は編集できる状態ではない」という場合がありえるってこと
0943デフォルトの名無しさん2014/11/12(水) 09:38:30.03ID:LF8s4Awp
>>942
(1)はpemittedという意味か?それともvariableという意味か?
0944デフォルトの名無しさん2014/11/12(水) 09:47:09.85ID:ffZaZ9YR
>>942
(2)は実際に編集するときに失敗を返すなり例外投げるなりすりゃいいだろ
というか問題の背景を省きすぎて答えようがない
0945デフォルトの名無しさん2014/11/12(水) 10:11:52.52ID:LF8s4Awp
>>944
表示上の問題かもしれんし、例外で対処するのは不自然なときもある
0946デフォルトの名無しさん2014/11/12(水) 10:36:49.34ID:dezSpY4A
>>942
項目と値、それぞれにisEditableを持つという手もある。
0947デフォルトの名無しさん2014/11/12(水) 10:46:06.36ID:ffZaZ9YR
>>945
だから答えようがないのよ、あいまいすぎて。
0948デフォルトの名無しさん2014/11/12(水) 11:40:22.68ID:gLospLKp
>>942
1→Committable
2→Editable

編集する部分と編集された部分を受け取る部分を分けりゃいい
0949デフォルトの名無しさん2014/11/12(水) 13:13:29.86ID:r+56R2M7
>>924
なんかデジャビューを感じる質問だ
よくわからんけどこういう風に整理した方がいいのかも

(1) 本質的に編集不可な(読み出し専用の)ドキュメントか?
isReadonly(Document)

(2) 一時的に編集操作がロックされているか?
locksEdit

(3) 結局今編集可能?
isEditable = !(isReadonly || locksEdit)
0950デフォルトの名無しさん2014/11/12(水) 20:25:33.67ID:5GyhUZuz
>>942
もし省略可能(optional)な入力フィールド上で特定の条件(たとえばチェックボックスがオンの時)だけ
編集を許可したいという、ありふれたケースであれば:
・(1) を isEditable として (2) を isActive という論理型の属性にするか、
 あるいは Active(活性中)/Inactive(非活性) という列挙型にする
・またはより一般的(総称的)に (2) を isEnable という論理型の属性、または
 Enable(有効)/Disable(無効) という列挙型でもいい

または特定のユーザが持つ権限に応じて編集可能性が決定するケースであれば:
・(1) を isEditable として (2) をアクセス制御を表す isAccessable という論理型の属性、または
 Allow(許可)/Deny(禁止) という列挙型にする
・またはより一般的(総称的)に (2) を isPermitted という論理型の属性、または
 Permit(許可)/Prohibit(禁止) という列挙型でもいい(>>943)

これらのユーザの対応によって回復可能なエラーを例外で実装すること(>>944)が正当されるケースは、
まず有り得ないと思う
GUIアプリのコード設計で例外を投げて対処するのが明らかに正当化されるケースは、
処理を続行できない致命的なエラーを検出したケースくらいだろう


これらはGUI部品オブジェクトのインスタンス状態が実行中に(=動的に)変化する場合だけど、
設計時に(=静的に)編集可能性が決定する局面もある
たとえばテキストや画像のラベルは「そもそも」編集不可だし、
テキスト入力フィールドやリストボックスは「そもそも」編集可能という属性値を持つ
これをコードで実装するケースであれば:
・(1) をクラス属性として実装して (2) をインスタンス属性として実装し、命名はどちらも isEditable とする
0951デフォルトの名無しさん2014/11/14(金) 02:39:47.45ID:8QTTJSRH
>>942
property.isEditable と
state.isEditable
にするとか
09529512014/11/14(金) 02:43:05.86ID:8QTTJSRH
ああ>>950の最後と同じか
0953デフォルトの名無しさん2014/11/14(金) 12:27:08.70ID:sgHxCJ9n
また何も言わずにトンズラか。
0954デフォルトの名無しさん2014/11/15(土) 10:26:21.85ID:URe6Go0h
すげー無駄なエネルギーが発散されるのを見た
0955デフォルトの名無しさん2014/11/17(月) 18:32:32.38ID:e01NmV2U
コンポーネントと呼ばれるオブジェクトを検索して、結果をポインタで受け取る関数についてなんですが、
微妙に異なる2つの関数があって、

// コンポーネントが存在すればポインタを返し、
// 見つからなければNULLを返す関数(つまり呼び出し元でNULLチェックが必要)
findComponent(...)

// コンポーネントが存在すればポインタを返し、
// 見つからなければダミーコンポーネント(NULLコンポーネントとでも呼ぶべきか、ただ存在するだけでなにもしない)
// のポインタを返す(どんな検索結果でも必ず有効なポインタを返すことを保証する)
findComponentSafe(...)

という名前で適切だと思いますか? それとももっと良い名前がありますか?
逆に NULL を返す方の関数を一工夫して
findComponentOrNull
findComponent
とかも考えたんですが...
0956デフォルトの名無しさん2014/11/17(月) 18:45:31.59ID:QLZYXKb1
関数としてはどっちかだけ用意する
0957デフォルトの名無しさん2014/11/17(月) 20:32:05.25ID:Iu/Tco7e
あーなるほど、微妙に違う関数を複数用意するよりかは、この場合はNULLを返す方の関数だけ用意しておいて、あとは利用者にまかせるということですか?
確かにその方が間違いが少ないかもしれませんね...
0958デフォルトの名無しさん2014/11/17(月) 22:02:35.73ID:cz1zl4cG
ちょっと捻るなら見つからなかった時のデフォルトを引数で渡すとかかな
利用頻度にもよる
0959デフォルトの名無しさん2014/11/17(月) 22:32:39.49ID:t6Z3abRU
SetWindowSubclassでサブクラス化した後はRemoveWindowSubclassをしなければいけませんが、
RemoveWindowSubclassをサブクラスプロシージャのWM_DESTROYで実行すると問題はありますか?
0960デフォルトの名無しさん2014/11/17(月) 23:24:13.42ID:+nMX5TA2
>>959
まず、落ち着いてスレタイ読めよ
0961デフォルトの名無しさん2014/11/18(火) 01:42:42.91ID:a2yegtxz
すみません。誤爆してました。
出直します・・・・
09629552014/11/18(火) 23:04:47.08ID:iE682fLS
もう一つ質問させて下さい。アルファ付きかつ画像のほとんどの領域が完全透明ピクセルで構成されている(=無駄な部分が多い)画像を簡易圧縮するために:
1 画像全体をNxNピクセルの画像ブロックに分割する。例えば256x256の画像を32ピクセル四方のブロックに分割するなら(256/32) x (256/32) = 64個のブロックが生成される
2 ブロックがアルファ値0のピクセルだけで構成されているなら、そのブロックは捨てる
3 2をすべてのブロックに対して行う。すると描画不要な完全透過画像ブロックがなくなり、描画に必要な画像ブロックだけが残る
4 3で得た画像ブロック列を、あらためて画像左上から順番に敷き詰め直す
。こうして出来た画像は元画像よりも小さくなる(スライドパズルのような見た目になる)
5 4で得た画像を、画像を復元する為の配置情報とともにファイルに保存する
6 描画する時は、メッシュを生成して各ブロックを正しい位置に配置しなおして描画する(メモリ内で元画像を復元する必要がない)
ようするに、余白を保存しないことにより画像サイズを小さくする、かつ無駄な領域を描画しない、かつ元画像にサイズ制限が(ほぼ)無い という圧縮&描画クラスがあるのですが、
このクラスの名前はなににするのが適当でしょうか。というか、こういう画像圧縮方法をなんと呼ぶのでしょう?
0963デフォルトの名無しさん2014/11/18(火) 23:15:01.22ID:4IT3gYoQ
>>962
利用者にとって中の実装を知る必要はないんだろ
なら、MyCodec2014 で十分
09649552014/11/18(火) 23:55:53.11ID:iE682fLS
あーなるほど、そんなものかもしれませんね。
確かにPNGもJPEGも名前からは具体的な圧縮方法なんて全然分かんないですからね...
0965デフォルトの名無しさん2014/11/19(水) 00:06:07.67ID:J3OHMDg0
ちなみに、アルゴリズムの分類としては、run length圧縮の一種になるかな。
配置情報というのは完全透過ブロックががいくつ連続しているかという情報と等価。
0966デフォルトの名無しさん2014/11/19(水) 01:07:18.67ID:ubCTfhxp
関数に一度入ったことがあるフラグってなんて名前つけるといいですかね
状態はstaticな変数で持つ予定です
is_entriedよりもかっこいい名前をお願いします
0967デフォルトの名無しさん2014/11/19(水) 01:21:03.84ID:CkjBV9fP
in_invoked
0968デフォルトの名無しさん2014/11/19(水) 01:24:35.47ID:CkjBV9fP
× in_
○ is_
0969デフォルトの名無しさん2014/11/19(水) 01:34:55.98ID:J3OHMDg0
is_called
0970デフォルトの名無しさん2014/11/19(水) 01:38:56.23ID:J3OHMDg0
isじゃだめだな。has_been_called
0971デフォルトの名無しさん2014/11/19(水) 01:47:25.97ID:YNs0+P/n
>>966
alreadyCalled
関数名Called
everCalled
!neverCalled
0972デフォルトの名無しさん2014/11/19(水) 02:13:17.62ID:soH064gW
!isVirgin
でも、呼ばれたかどうかが本当に大切なの?
初期化かキャッシュか何かがされたかどうかじゃないの?
0973デフォルトの名無しさん2014/11/19(水) 02:16:57.14ID:3P15N52e
!at_first
0974デフォルトの名無しさん2014/11/19(水) 08:57:18.89ID:SPlFbTIk
mouYobareta
0975デフォルトの名無しさん2014/11/19(水) 09:08:18.13ID:Q9KoUVuO
visited
0976デフォルトの名無しさん2014/11/19(水) 11:08:08.17ID:VTf0NIQd
boolだけはfやbの接頭辞縛りにしてるわ
>>966 だとfCalledとかfInitializedとか。
is、has系の命名規則はとんでもなく名前考えるのがめんどくさい
0977デフォルトの名無しさん2014/11/19(水) 13:00:17.07ID:GN47sEav
isFirstCall
isMyFunctionCalled
needsInitializeMyFunction
0978デフォルトの名無しさん2014/11/19(水) 17:31:01.01ID:ubCTfhxp
>>972
要はこういうことをやりたいわけですが、初期化されたかどうか
のほうが重要なんでしょうか
hoge() {
is_called = false;
if (!is_called) {
/* 最初に呼ばれたときだけやる処理 */
is_called = true;
stmt;
}
0979デフォルトの名無しさん2014/11/19(水) 17:58:44.88ID:lXNTxGFA
そんなの、たったそれだけの情報で第三者に判断できるわけないと思うが...
0980デフォルトの名無しさん2014/11/19(水) 18:26:40.89ID:3P15N52e
>>978
その「最初に呼ばれたときだけやる処理」が、初期化ならinitialzied、キャッシュならcached、ログ表示ならlogged
みたいな名前にしろと>>972は言ってるんだと思う
他に同様の初期化が必要な場所が出てくるかもしれんしな

その処理がその関数内で閉じてるなら好きにすればいいが
0981デフォルトの名無しさん2014/11/19(水) 19:05:51.76ID:ubCTfhxp
>>980
なるほどありがとう
>>979
ばーか
0982デフォルトの名無しさん2014/11/19(水) 19:15:29.60ID:ZVUHk6wV
>>981
その一言でお前の質問者としての品位が下がった
0983デフォルトの名無しさん2014/11/19(水) 20:05:58.46ID:xUtIZ0E8
品位はどうでもいいけど、確実にダメグラマだな。
0984デフォルトの名無しさん2014/11/19(水) 23:47:34.66ID:6cylO/7k
>>981
w
0985デフォルトの名無しさん2014/11/20(木) 17:37:34.37ID:4mq6Q0TO
ハードディスク内のファイル情報をdbに書き出すプログラムをC#で作っています
ファイル情報を保存するエンティティ名は何がいいでしょうか

FileInfoEntity
ちょっと長いのとデータベースプロバイダーを切り替えた時に混乱しやすそう

FileInfo
既存の関数名と競合する

LocalFileInfo
しっくりこないですけど第一候補です
0986デフォルトの名無しさん2014/11/20(木) 17:43:18.53ID:5Tc4SAps
FileAttribute
FileProperty
0987デフォルトの名無しさん2014/11/20(木) 20:10:16.59ID:xFcel8Uw
>>985
そもそもファイル情報って何?
0988デフォルトの名無しさん2014/11/20(木) 21:42:11.17ID:4mq6Q0TO
FileInfoと同じような情報です
ファイル名、ファイルサイズ、更新日時など
慣れてきたら、カレゴリ、ジャンル、ファイルへのメモ情報を保存出来るようにしたいと思ってます

外付けHDを起動しなくてもデータベースを参照して上記のようなデータを取得できたら便利だなと思いました
それらを実現できる優秀なソフトが既存するのでしょうが、せっかくだから自分で作ってみようと思いました
0989デフォルトの名無しさん2014/11/20(木) 22:25:02.69ID:nLzkz9Oy
>>988
なるほど。難しいな。

FileInfoPlusとかFileInfoExとか。
あとFeleInfoCacheってのも考えたけど微妙だな。
0990デフォルトの名無しさん2014/11/20(木) 23:45:25.59ID:iwYdxvVM
FileInfoDb
0991デフォルトの名無しさん2014/11/20(木) 23:46:47.35ID:3iHyzImE
MyFileInfo
0992デフォルトの名無しさん2014/11/21(金) 00:06:32.89ID:K12YBa3c
AnyFile
0993デフォルトの名無しさん2014/11/21(金) 01:01:39.65ID:Boxcr8tz
仕様に情報って単語が出てきたら要注意。
0994デフォルトの名無しさん2014/11/21(金) 01:03:29.94ID:Boxcr8tz
>>988
普通メタデータはスーパーブロックにあるから、それだけコピーしとけばいいんじゃないの。
0995デフォルトの名無しさん2014/11/21(金) 01:58:39.43ID:uKaZEFkt
inodeはスーパーブロックには置いてないよ
あとファイル名はinodeにも入ってないよ
そもそもOSもわからんが
0996デフォルトの名無しさん2014/11/21(金) 02:21:58.08ID:99Z7byug
FileInfoForOutputを省略してFIFOとか書かない限りここにあるの使えばええんちゃう
0997デフォルトの名無しさん2014/11/21(金) 13:54:12.29ID:WXEJ6dTU
名前空間利用して競合避けるのってやっぱダメなんかな
0998デフォルトの名無しさん2014/11/21(金) 14:08:40.13ID:qLCHZ6x8
>>997
いろんな名前空間に、FileInfoクラスがちりばめられていたらって想像すると、ぞっとしない?
名前空間で分割するのだから、一般的名称を使ったクラス名でいいやってやってるとそうなる。

たとえ名前空間で分割する場合でも、各クラス名はできるだけ別の名前を付けたほうがいいと思う。
0999デフォルトの名無しさん2014/11/21(金) 14:17:29.90ID:3E36WIhF
>>998
別にしないだろ
むしろ名前空間利用しないで変態な名前使うほうが分かりにくいだろうに
1000デフォルトの名無しさん2014/11/21(金) 14:21:23.44ID:V3K78xF1
名前空間を使ってバッティングを避けるのはあくまでも最終手段。
名前だけで区別できればその方が好ましいにきまってるでしょ。

今回の質問者のお題に限って言えば、.NETのBCLのFileInfoクラスを使うことはもぼ間違いないのだから尚更だ。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。