クラス名・変数名に迷 ..
[2ch|▼Menu]
980:デフォルトの名無しさん
16/10/15 17:40:29.08 pMgLYSqA.net
>>966
ネイティヴが違和感を感じるかどうかも実は全く問題ではない
ドメインエキスパートが仮に実際の業務でStartPositionという言葉を使っているならネイティヴがなんと言おうがそれはStartPositionが正しい
ドメインエキスパートが使ってもいない言葉を勝手に作り出したり英訳したり似たような他の英語を使ったりネイティヴの感覚で訂正したりするとそれは間違いになる

981:デフォルトの名無しさん
16/10/15 17:58:59.77 xaDriJeZ.net
日本語識別子がどうとか下らない話もいい加減にしようよ。

日本語識別子が一般に避けられる傾向にあるのは、別にかっこつけてる(笑)
みたいな中二病な理由じゃなくて、今時のIDEの入力補完と相性が悪いからでしょ。

インテリセンスがローマ字に対応したら日本語識別子もありかもしれんよ
俺は中二だからたぶん使わないと思うけどw

982:デフォルトの名無しさん
16/10/15 18:15:27.91 gUMRUJva.net
>>970
それはセンス0だなー
だったらここに書き込むときは君のドメインエキスパートとやらを連れてくれば?
そのドメインエキスパートもセンスがあるのかどうか分からないけど

983:デフォルトの名無しさん
16/10/15 18:28:16.84 4zjUlTyK.net
>>971
平仮名やカタカナのみなら、相性は悪くないんだろうけどねー。
日本語である以上やはり漢字を使いたいところ。

たとえば変数名が「斉藤」だとして、
異字体(斎藤など)を区別、あるいは逆に同一視できるか?
「さ」や「s」を入力した時点で変数名補完ができるか?
みたいな

984:デフォルトの名無しさん
16/10/15 18:31:37.52 8FrzlPpG.net
>>972
2chに顧客連れてこいとか正気か?
それとドメインエキスパートに命名センスは必要ないよ
適切な名前はすでに彼らの業務の中に存在する
すでにあるものに間違った名前をつける行為が害悪なんだ

985:デフォルトの名無しさん
16/10/15 18:37:01.51 /rOsWLKQ.net
>>969
名前空間で包むことは否定しないが、それは本人の設計思想次第ではないかね
あなたは冗長というが、必要ならそれぐらいの名前は許されると思うし、きわめて主観的な問題
あれが冗長なら例えば、getElementsByTagNameも長すぎて許せないとあなたは思うのだろうね

986:デフォルトの名無しさん
16/10/15 18:53:39.17 /rOsWLKQ.net
原則として名前は言語仕様に追従すべきものであると考えている
例えば、「ひまわり」なら日本語で命名すべきだが、「JavaScript」なら英語で命名すべきだ
オブジェクト指向をとる場合もビルトインオブジェクトやネイティブオブジェクトに近い名前にする事が望ましい

英語を基本とするプログラミング言語において、自分で書いて自分で保守すること「だけ」を考えるなら日本語で命名しても良い
それは他の人がソースコードを参考にする事を配慮しないことを意味するからだ
ソースコードをオーブンな場で共有するものと考えるなら出来るだけ公用語の英語を選択した方がよい
そうすれば、英語を読める人からフィードバックを得られるし、自分からも他の人にフィードバックする事が出来る

それと英語を基本とするプログラミング言語は仕様書やリファレンスが英語しかないことが多々あるので英語を読めないのはそれだけでハンデになる
命名するときに仕様書で似たインターフェースを探して参考にすることも出来ないだろう

987:デフォルトの名無しさん
16/10/15 18:59:36.73 TRjDGE+n.net
正直、プログラミング中に漢字変換なんかしたくねえよ
変数もコメントも全部英語で良いわ

988:デフォルトの名無しさん
16/10/15 19:06:39.06 JenZQSiG.net
そろそろ次スレよろしく。

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

989:デフォルトの名無しさん
16/10/15 19:23:38.02 +WAwTfPB.net
>>977
同意
英数字と見た目的に同等な文字が存在する以上日本語入力で書く気になれん
昔、誰かが書いたコードで「;」の代わりに「;」が入っていたことがあって
イラッとしたな

990:デフォルトの名無しさん
16/10/15 19:26:36.71 mVOIWD6D.net
英訳したい病の人は一般的な意味での単語とドメインにおける特定のエンティティを指し示す単語の区別がついていないんだろうね
ソフトバンクのお父さん犬を表現するクラスはclass お父さん犬;以外にありえないんだよclass FatherDog;ではもはや別のエンティティになってしまう
おい、FatherDogが日本語を喋ってるってインシデントが発生したぞ!犬が喋るわけないだろ、担当者は誰だ!と怒られてしまうよ
これがドメインの知識を不足なく完全に反映したお父さん犬であれば、お父さん犬が喋ってるってよ!ん?そりゃそうだろう、と円滑に物事が進む
同じように注文という単語一つとっても、開発対象のドメインにおける注文と一般的な意味での注文は同じではない
この注文はそのドメイン固有の特徴を持ったエンティティであり一般的な注文と混同してはならない
したがって一般的な意味での英訳であるOrderに置き換えてはいけない
もちろんそのドメインにおいて正式に英訳がOrderであると決まっているなら英訳してよいし

991:デフォルトの名無しさん
16/10/15 19:29:23.80 ttNAxKpQ.net
そういや、タブの中にしれっと全角スペースが紛れ込んでたことあったな

992:デフォルトの名無しさん
16/10/15 20:27:01.17 WTQiAfdN.net
業務用語は素直に日本語使っておけ

993:デフォルトの名無しさん
16/10/15 21:26:12.05 4zjUlTyK.net
そういや固有名詞とかどうしてる?
関数名に入れる? それとも他の語を探す?

「ユーザが斉藤さんなら(プロセスを)殺す」関数とか
「我が社が開発したサイトウシステムを停止させる」関数とか、そういう類

994:デフォルトの名無しさん
16/10/16 00:09:21.25 DXmiytAw.net
>>966
日本人にわかる英語でないと意味がない。

995:デフォルトの名無しさん
16/10/16 00:16:25.94 v/GEKxcD.net
>>984
辞書見ないとわからんなーって単語は結構迷うよね

996:デフォルトの名無しさん
16/10/16 00:18:54.60 MAx8XuB7.net
set / getがダメという意見にはまったく賛成できない。
言語も熟練度も越えたアクセサの命名規則だろ。
素人でも理解できる。

997:デフォルトの名無しさん
16/10/16 00:27:29.86 1LSEBjMH.net
>>983
普通は汎用的にプロセスを殺す関数作って、引数として固有名詞渡すようにする。
でも便利関数として固有名詞を含んだ関数を作ることも十分にありうる。
要は臨機応変。

998:デフォルトの名無しさん
16/10/16 02:51:13.88 MMtmJt+k.net
>>974
頭悪いだろ

999:デフォルトの名無しさん
16/10/16 03:17:37.12 NOg6ZxxU.net
>>986
その規則がだめなんだろ。素人が誰かも、理解させる理由もわからんし。
しかも素人がその命名規則を知ってるのか?

ではその素人とやらに、冷蔵庫で食材を冷やすことを「set」する。食材を切る準備を(まな板の上に)setする。フライパンで炒める事をsetすると主張してみるがいい。
setとgetは論点がアクセサの説明になった時に使うのは適切だが、
皿に魚を「盛り付ける」行為を、アクセサー用語に置き換えてsetするなんて言わない。
料理をするときは料理用語。
日本語でもこれは「接続詞」からの「動詞」だから〜とか馬鹿な言い回しをするやつはいない。
ただし、英語を出来ない日本人は頻繁にやるけど。

ズレてんだよ。頭の中

1000:デフォルトの名無しさん
16/10/16 03:50:19.66 8D32iC3X.net
正直、企画連中が使う言葉なんてコロコロ変わるからそれに合わせて命名なんかやってらんない

初期段階では「割引券」機能と言ってたくせに、実装が一通り終わってから「会議で正式名称は『RaCoupon』に決まりました!」なんてさ

1001:デフォルトの名無しさん
16/10/16 07:11:46.38 bdh7il0f.net
>>981
Unicodeだと全角空白も空白扱いだな、一応

1002:デフォルトの名無しさん
16/10/16 07:35:04.08 MAx8XuB7.net
>>989
おまえが大ズレじゃねえかw
何言ってんだおまえ?
>フライパンで炒める事をsetする

1003:デフォルトの名無しさん
16/10/16 07:37:30.11 MAx8XuB7.net
>>989
ここでこの間大騒ぎしてたのはおまえかw

1004:デフォルトの名無しさん
16/10/16 07:38:53.91 NOg6ZxxU.net
フライパンの上にsetするって意味だが、その程度も分からないし、
そもそも論点がそこにあることすら理解できてない。

1005:デフォルトの名無しさん
16/10/16 07:48:35.01 7quvU6KA.net
「盛り付ける」行為にgetter, setterを割り当てようとする目的が全く分からん
何をgetして何をsetするつもりなんだ?
説明が滅茶苦茶だから仮想コードを書いて説明した方がマシ

1006:デフォルトの名無しさん
16/10/16 07:50:51.33 9M/UHFkb.net
二回連続レスとかディスプレイの前で最高に興奮してそうだな

1007:デフォルトの名無しさん
16/10/16 07:55:15.14 MAx8XuB7.net
>>996
朝見た瞬間驚いたんだよ。

1008:デフォルトの名無しさん
16/10/16 07:57:56.53 NOg6ZxxU.net
>>995
その「何を」を問わないで、アクセサだからsetと言うのがいるんだよ。
盛り付けがアクセサで定義された場合、それはsetであるべきなんだとよ。
俺のはそれに対する反論

1009:デフォルトの名無しさん
16/10/16 08:06:24.50 MAx8XuB7.net
>>998
おいおいそれアクセサじゃねえだろw
アホらしいからやめるぞ。

1010:デフォルトの名無しさん
16/10/16 08:08:22.68 NOg6ZxxU.net
最初からそうしてくれると助かったんだが。
スイカの味のあ話をしてる時に一人で勝手にスイカを売ってる店の話をして、
あほらしいといって帰っていく。かなり迷惑なタイプ

1011:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

99日前に更新/261 KB
担当:undef