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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

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

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

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

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

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

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

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

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


しかし受動態で関数名書きたいとき毎回命名で悩む気がします。
英語ネイティブの人たちは悩まないんだろうか…
26デフォルトの名無しさん: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に限らず、今時の言語の多くはこういった名前空間を扱えると思うよ
27デフォルトの名無しさん:2014/02/01(土) 23:55:04.72
どうせ大したもの作ってないからどうでもいいんじゃない。
28デフォルトの名無しさん:2014/02/02(日) 00:03:24.15
>>13
DBとかだとStatementの略はstmtが一般的な気がする。

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

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

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

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

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


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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

フォルダとディレクトリみたいなほぼ意味的に変わらないようなものなら主流かどうかで決めるのもありだ思うが
40デフォルトの名無しさん:2014/02/05(水) 08:47:51.17
DirName一択だろ
迷う意味がわからない
41デフォルトの名無しさん:2014/02/05(水) 09:41:48.52
dir_fullpathとか
42デフォルトの名無しさん:2014/02/05(水) 12:44:39.99
DirNameって同名の関数が >>34 のような挙動になっていることが多い
43デフォルトの名無しさん:2014/02/05(水) 12:46:35.80
そのプロジェクトで他の用語と被りそうだからとかで選ばないこともあるな。だから一択とかはないけど。
フォルダはGUIのイメージ、
ディレクトリはノード単体を扱うときにも使うイメージ、
というわけでパスに一票。
44デフォルトの名無しさん:2014/02/05(水) 18:55:12.13
>>32
俺ならば
例えば "C:\Users\tomato\dressing" というパスに対しては AbsolutePathName
"C:\Users\tomato" の部分を意味するものとしては ParentPath
"dressing" の部分を意味するものとしては、どこかの ParentPath からみた
相対位置という意味で OffsetPathName
45デフォルトの名無しさん: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
46デフォルトの名無しさん:2014/02/07(金) 19:30:51.49
>>44
他はいいとしてOffsetはない。Relativeだろ
47デフォルトの名無しさん:2014/02/07(金) 19:57:10.98
>>47
スマンm(_ _)m
マジで間違えてた RelativePathName が正解だな
48デフォルトの名無しさん:2014/02/07(金) 19:59:38.51
>>45
一番上のでいいだろ

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

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


で、本題だが

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

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

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

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

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

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

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

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

なかなか迷うな。

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

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

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

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

確かに・・・
62デフォルトの名無しさん:2014/02/09(日) 17:28:55.65
GUIDがいわゆるUUIDのMS実装のことなら、
バージョン(という名前だが生成方法)4に限れば、
乱数による生成なので、低確率で重複しうる。
バースデーパラドックスを考慮しても相当に低い確率だけど。
63デフォルトの名無しさん: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 みたいに書く
64デフォルトの名無しさん:2014/02/10(月) 00:20:39.56
>>63
汎用的じゃない例外なんかは、普通はその例外を発生させるクラスと同じかまたは上位の
名前空間で定義したいと思うはずで、そういうのは名前空間の使い方としてどうかと思うけど。

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

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


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

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


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

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


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

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

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

入門サイトなどによく書いてあるよな。
このコードでは例外処理を省略してますって。
それをコピペしてるんだろうな。こいつは。
70デフォルトの名無しさん:2014/02/10(月) 20:22:24.74
最後に余計な一言をいう人が多すぎる
71デフォルトの名無しさん: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 になる
こんな単純な話なのに、ナゼに「対応できない」と断言できてしまうのか不思議だ....
72デフォルトの名無しさん:2014/02/10(月) 21:41:14.24
だから、最後の一言が余計なんだってば。

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

計測器からのデータ収集という大きな「問題領域」があり、それがベンダやデバイスという
部分的な「問題領域」から構成されている時、それらに名前空間を与える設計手法を>>77は選んでいる
同様に、例外も(例外扱いせずに)部分的な「問題領域」の一種であると考えて
名前空間を与えてもいいんじゃないのかな?という発想だ
81デフォルトの名無しさん: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 クラス)へと分割される
・「予期した例外」とはいわゆる一般的なエラーであり、
  これが発生した場合にはアプリケーションで捉えて適切なエラーメッセージを表示する
・「予期しない例外」とはいわゆるバグであり、これが発生した場合にはアプリケーションでは捉えず
  処理系を異常終了させて、スタックダンプ等のデバッグ情報を得る
82デフォルトの名無しさん:2014/02/11(火) 02:35:01.16
読んでないが、簡潔にまとめられない奴らが、良い名前を付けられるわけがない。
83デフォルトの名無しさん:2014/02/11(火) 02:59:31.95
言えてる
84デフォルトの名無しさん:2014/02/11(火) 09:04:52.22
言語処理系そのものや、独自のスクリプトを実装したいとか
例外処理機構の無い言語に例外的な機構を実装したいとかなら
Exceptionでグループをひとつ作るのもアリだと思うけど
一般的なプログラミングにはそぐわないと思うんだよなあ
8555:2014/02/11(火) 09:22:25.06
>>82
議論してる人たちから見れば、興味がない外野は黙ってろと言いたいだろうなぁ。

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

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

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

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


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

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

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

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

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

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

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

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

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

GUID::GenerateFailed

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

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

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

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

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

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

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

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

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

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

一応参考に挙げとくが、JAVAでは保持しているドメイン名を逆順をしたものを推奨している。
例えば、toro.2ch.net ならば net.2ch.toro という感じ
127デフォルトの名無しさん:2014/02/15(土) 18:09:35.64
みなさんありがとうございます。
>>124,126
MSやJAVAのガイドライン大変参考になりました。とりあえずMSの方式で
やってみます。
128デフォルトの名無しさん:2014/02/15(土) 18:11:54.72
っていうかMSのガイドラインをこれまで目を通したことがないC#の開発者って...
129デフォルトの名無しさん:2014/02/15(土) 18:17:05.80
>>128
ん?
呼んだ?
130デフォルトの名無しさん:2014/02/15(土) 18:29:30.24
>>126
数字始まりだとパッケージ名に使えなくて困るよな。
131デフォルトの名無しさん:2014/02/15(土) 18:40:03.00
なんでMSのガイドラインを見ないといけないんだ プンスカ 信者じゃねーんだ
132デフォルトの名無しさん:2014/02/15(土) 18:59:13.49
>>131
従うかどうかは別にして、一度目を通すくらいはしておくことを勧める
133デフォルトの名無しさん:2014/02/16(日) 11:02:28.44
だな
感情論的な文句を言う奴に限って不勉強だから困る
不勉強なだけならまだしも、オレオレルールの方が優れてるぜ的な主張始めるから手に負えない
134デフォルトの名無しさん:2014/02/16(日) 14:07:55.41
>>128を書いたのは俺だが、そのよくわからん被害妄想もどうかと思うが。
個人的にはあんたみたいなタイプの方が手におえないよw
135デフォルトの名無しさん:2014/02/16(日) 15:05:38.39
>>134以外で被害妄想に見えるレスが見当たりませんが…
136デフォルトの名無しさん:2014/02/16(日) 19:58:14.75
>>135
わろたw
137デフォルトの名無しさん:2014/02/16(日) 23:11:47.76
>>135=池沼
138デフォルトの名無しさん:2014/02/17(月) 18:09:33.78
>>135
見当たらんのう
139デフォルトの名無しさん:2014/02/19(水) 01:09:25.85
よしやり直そうぜ
っていうかMSのガイドラインをこれまで目を通したことがないC#の開発者って...
140デフォルトの名無しさん:2014/02/19(水) 18:58:57.83
ルーピーきもっ、まで読んだ。
141デフォルトの名無しさん: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}
}
142デフォルトの名無しさん:2014/03/01(土) 17:56:26.63
>>141
Asymptotic
143141:2014/03/01(土) 17:57:35.04
>>142
ハイ採用!ありがとう!
144デフォルトの名無しさん:2014/03/01(土) 18:10:45.70
アキレスの亀(笑)とかみたいな中二病な名前の方が分かりやすいと思う。
それに漠然と漸近じゃどう漸近するのか分からん
145デフォルトの名無しさん:2014/03/01(土) 18:13:36.35
>>144
> それに漠然と漸近じゃどう漸近するのか分からん

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

頭にISを付けるのってBool値を返すための接頭辞的な使い方が最初じゃなかったっけ?
163デフォルトの名無しさん:2014/03/02(日) 17:40:47.56
識別子に ? が使える言語が羨ましい
164デフォルトの名無しさん:2014/03/02(日) 18:29:57.31
>>160
別に解決済みでもいいっしょ。
165デフォルトの名無しさん:2014/03/03(月) 00:51:15.82
改行したばかりで一文字も入力されていない
=一桁目だ、ということを表す変数名はis何がいいですか?
166デフォルトの名無しさん:2014/03/03(月) 01:08:37.21
>>165
isAtLineHeadとか
167デフォルトの名無しさん:2014/03/03(月) 01:59:10.13
>>165
firstLetter
168デフォルトの名無しさん:2014/03/03(月) 06:55:51.92
>>165
isEmptyLine
169デフォルトの名無しさん:2014/03/03(月) 08:19:27.09
日本語やり直して
170デフォルトの名無しさん:2014/03/03(月) 08:33:14.39
>>165
> 一文字も入力されていない

> 一桁目だ、
は、全然 = じゃないんだが、どっちよ。
171デフォルトの名無しさん:2014/03/03(月) 12:36:09.40
>>170
一桁目というのは、たぶんカーソルが(その行の)1桁目にあるという意味だと思う。

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

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

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

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

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

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

のような利用で大丈夫ですか?
186デフォルトの名無しさん:2014/03/06(木) 18:43:27.90
>>185
引数の型とか、順番で判断すればいいだろ。
複合キーだったらexistHogeAndFooAndBarとかするつもり?
187176:2014/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を持っているか、というようなニュアンスで付けました。
#間違っているかもしれないですが。。
188デフォルトの名無しさん:2014/03/06(木) 20:14:53.27
C#ならメソッド名はFindかExistsにして、その引数にはラムダ式(デリゲート)
を取るようにするケースかね。

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

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

にしました。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

それにしては実装の条件判定が変な気が。
250デフォルトの名無しさん:2014/04/27(日) 14:03:56.07 ID:0q81XbwG
>>247
別関数にしろよ
251デフォルトの名無しさん:2014/04/27(日) 14:10:36.20 ID:GbqQrH3o
>>247
condition
pattern
isComplement (補集合が欲しい場合はtrueにする)
252デフォルトの名無しさん:2014/04/27(日) 15:02:03.12 ID:s0NPrJow
>>250に同意
filterMatched()
filterUnmatched()
253デフォルトの名無しさん:2014/04/27(日) 15:24:56.79 ID: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 別のリストに加える
}}

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

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


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

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

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

の2つが必要ってこと?

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


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

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


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

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

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

predの戻り値はbool値
match (pattern, e) == -1

match (pattern, e) == 0
を返す

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

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

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

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

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

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

topLeft、topRight
bottomLeft, bottomRight

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

点数は素直に点数(score)にするのがいいに決まってる。
454デフォルトの名無しさん:2014/06/09(月) 15:13:36.05 ID:CV1N0NlN
では点数の計算方法が
a[0]*2+a[1]*3+a[2]*5+a[3]*7・・・・
という計算式だとしましょう。
このときa[0]に0から1の値を入れる関数名をよろしくお願いします。
455デフォルトの名無しさん:2014/06/09(月) 15:18:34.82 ID:rNmHPgTr
まともに相手して損した。
456デフォルトの名無しさん:2014/06/09(月) 15:19:12.19 ID:CV1N0NlN
逃げるんですか?
卑怯者ですね。
457デフォルトの名無しさん:2014/06/09(月) 16:08:45.99 ID:vNXU4y0v
>>456
お前は基地外
458デフォルトの名無しさん:2014/06/09(月) 16:16:28.20 ID:ihFgJRd/
こういう手合いからは逃げたほうが賢明w
459デフォルトの名無しさん:2014/06/09(月) 16:51:36.10 ID:Kzf8zYPT
それを計算してなにがしたいのかを書けよ
460デフォルトの名無しさん:2014/06/09(月) 17:10:49.49 ID:zNsk9buo
聞くだけ無駄だと思う
461デフォルトの名無しさん:2014/06/09(月) 18:24:19.90 ID:3TQ4mVIN
>>454
sineKitigaiMajide
俺ならこうするね
462デフォルトの名無しさん:2014/06/09(月) 23:34:35.15 ID:Qwtl9BZW
なんかワロタw
463デフォルトの名無しさん:2014/06/10(火) 21:51:58.71 ID: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 とかでおかしくないですかね。
464デフォルトの名無しさん:2014/06/10(火) 22:57:27.84 ID:YgRO9Ju8
>>463
modified-dateとか
465デフォルトの名無しさん:2014/06/10(火) 23:13:20.00 ID:vyxnhgel
>>464
時分秒を含んでるんだから
modified-Timeのほうが良くね?
466デフォルトの名無しさん:2014/06/10(火) 23:19:06.68 ID:RNvJu31l
>>463
last-modifiedか、たんにmodified
467デフォルトの名無しさん:2014/06/10(火) 23:34:36.24 ID:YgRO9Ju8
>>465
どうだろう
日付がメインだと思ったからdateにしたんだけどね
純粋に>>466の案でいいかもね
468463:2014/06/10(火) 23:37:26.03 ID:fz5L4EFg
これは一つのリソースを更新するイメージじゃなくて、どんどんデータがたまっていく
感じだから、updateとかmodifiedはちょっとニュアンスが違うかなって気がしてきた。

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

time index
reference time
marker time

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

今頃何を言ってるんだよ...
>>536 すら理解してないアホは要らんよ
549デフォルトの名無しさん:2014/07/18(金) 00:55:50.68 ID:97CjBc8L
>>548
あるべき論の話してるのに、元の話をもってくるとか、こういう奴がいるからブラックが増えるんだな。
問題は当人が自覚してないケース。
550デフォルトの名無しさん:2014/07/18(金) 01:05:29.94 ID:RVGuJ+3v
>>549
ぼくのかんがえたさいきょうのあるべきろん w
要らんわ
551デフォルトの名無しさん:2014/07/18(金) 01:13:15.54 ID:97CjBc8L
>>550
それを言うならそもそもお前>>1で要らないと言われてる。
552デフォルトの名無しさん:2014/07/18(金) 01:26:38.38 ID:U3e8yWOg
お前もな〜 w
553デフォルトの名無しさん:2014/07/18(金) 01:36:57.62 ID:YwF2SXDX
UXとしてレコードの表示順序を永続化して再現したいのなら、
レコードに表示順をフィールドとして持たせりゃいいだろう。
ユーザーが並べ替えた順序・位置を記憶しとくのは普通にありだろ。
なにを揉めてんのかw
554デフォルトの名無しさん:2014/07/18(金) 07:36:25.95 ID:KnXUTMy4
別に揉めてないよ、ぼくのかんがえたさいきょうの設計でないとやだって、>>543 が駄々こねてるだけ
555デフォルトの名無しさん:2014/07/18(金) 10:08:23.90 ID:oQ20swwf
似たような種類の変数名の付け方ってどうすればいいの?
アクションゲームとかで、
1. ステージ左上を(0,0)としたブロック単位のキャラの位置
2. ステージ左上を(0,0)としたピクセル単位のキャラの位置
3. 画面左上を(0,0)としたピクセル単位のキャラの位置
は、それぞれどんなふうにつけると良いですか?
556デフォルトの名無しさん
>>555
名前空間を作ってさっぱり。