クラス名・変数名に迷ったら書き込むスレ。Part29 (168レス)
上下前次1-新
1: 2021/04/26(月)17:52 ID:KOZxV/bH(1/2) AAS
クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
設計などが話題になるのなら他のスレでどうぞ。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part28
2chスレ:tech
139: 2022/04/09(土)13:58 ID:xdx6kcV3(1) AAS
甲乙システム
140: 2022/04/09(土)15:07 ID:ptsvFFbW(1) AAS
healUpTo
healUpFrom
toとfromで区別したらさすがわかるやろ。
英語としての正確性なんか知らん!w
141(1): 2022/06/12(日)00:33 ID:xegQlxkn(1/2) AAS
関数名なんだけど
textA,textBを受け取って、Aが空文字でなければAを、そうでなければBを返す関数ってなんて命名する?
142(1): 2022/06/12(日)05:58 ID:LzXoNMHn(1) AAS
coalesce
合体ってなんか違和感ありまくりだけどnull合体演算子なんかもあるからあちらさんにはしっくりくるみたい
143(1): 2022/06/12(日)06:47 ID:EuxEkIqo(1) AAS
>>141
textA.if_empty(textB)
言語にもよるけど
144(1): 2022/06/12(日)07:09 ID:m6O1SXMe(1) AAS
NULisB とか考えてたけど
> coalesce
COALESCEは引数に渡された値のうち、NULLではない最初の値を返すSQL関数です。Oracle、MySQL及びPostgreSQLで使えます。
まんまだなコレ。でも関数名から分かり難いのが難点か
145: 2022/06/12(日)07:27 ID:xegQlxkn(2/2) AAS
>>142-144
ありがとうございます!!!
知識も検索能力も低くて辿り着けなかった答えがこうも簡単に!感謝します!
>>143
ちなみに拡張メソッドが使えないVBAでの依頼だったため、今回はcoalesceで行きたいと思います
>textA.if_empty(textB)
すごく意味が伝わりやすいです!
ありがとうございました
146: 2022/06/12(日)07:27 ID:penYvEXk(1) AAS
coalesceはnull専用だから誤解しやすくて良くないぞ
少なくとも前か後ろにblankかemptyをつけないと
ただこういう基本中の基本機能は独自に関数化するよりも各言語のイディオムを直接書いた方が可読性も保守性も高くなる場合が多い
147: 2022/06/12(日)16:32 ID:jQu6nhy1(1) AAS
Makefileだと、$(or ...)という関数になってるな。
引数リストで、最初の非空文字列を返す。
たとえば、text_or(...)なんかもいいんでは?
148: 2022/12/06(火)17:57 ID:IhD5MRvl(1) AAS
test
149: 2024/02/18(日)00:26 ID:CvKWKztk(1) AAS
C言語にて。
複数の画像ハンドルへのポインタ列。
その個数。
どちらもhnを核に命名したいけど思い付かない。
構造体の要素なのでなるべく短い命名にしたい。
150: 2024/04/30(火)17:46 ID:6siWZQQV(1) AAS
グロ
151(1): 2024/05/05(日)11:17 ID:ufyV/oQQ(1) AAS
実際のコーディングは、別として
プログラミング設計時点で、変数名は一文字が
圧倒的に見易い。そして更に変数名は絵文字一文字が
超絶的に見易い。設計時点では、。でこんな感ーーーじ
if 🟦<128 then 'ascii
⭐=🟦
UNICHAR(⭐)を表示
n=n+1
elseif 🟦<192then 'なんちゃってascii
「👻」を表示
省7
152: 2024/05/07(火)05:31 ID:ir1kpgcA(1) AAS
どんぐり、って絵文字がない。🟤で代用しようかな
153: 151 2024/05/09(木)06:25 ID:0jR/otk1(1) AAS
やっはさ、変数名は、
絵文字🔴🔵等は、超超々見易い
【HTML】
<input id="🔴" name="file" type="file" />
<p id="🔵" />
【JS】
/*入力フォームの要素*/
var 2⃣=document.getElementById("🔴");
/*結果出力用の要素*/
var 3⃣=document.getElementById("🔵");
省8
154: 07/31(木)18:46 ID:cLL+G38O(1) AAS
(仕事以外のものを)開発する時間の半分が名前考えている時間だな。
名前さえちゃんとつけられれば楽。名前を変えると構造も変わる。
構造に合わせて名前も変える。
できる限り、続けて読むと何をやっているのか英文として読み解けるように。
155: 08/01(金)07:22 ID:YpvuDC33(1) AAS
うん。
やりたい事は大体ぼんやり頭に浮かぶのだけど、言語化の過程で命名が大変だよね。
むかーし『データ構造+アルゴリズム』って勉強したけど、それを組み立てるのに良い命名が必要で。
しかも背伸びして辞書引いて馴染みない単語を使うと、後になって意味が分からないとか。
#命名なんてaaaとかで十分ってのもまた真実なんだけど、ね。
156: 08/07(木)13:13 ID:Y7XnsPal(1/2) AAS
begin/end,start/end,start/stop,push/pop,get/set,peek/poke,put/take,put/remove
さらには、remove/delete/erase/moveなど。
対象によって微妙に異なったり、プログラミングの歴史的用法があったり、
toか2かとか、forか4かとか、
to,of,in,on,at,by,whithout,except,but,not,none,nothing,null,nil,inter,inner,middle,head,tail,is,has,-ing,-s,-es
認知科学の書籍まで総動員して名前をつける。
対象との関係は認知科学だね。
たまに、フランス語系の単語が入ってくると女性・男性・中性まで考える。
可算・不可算もあるし、扱い方によって変えたり、
block,chunk,lump,cluster,blob
省1
157: 08/07(木)13:27 ID:Y7XnsPal(2/2) AAS
ものによっては、アメリカ俗語辞典も()
ドラクエやポケモンの英語版解説書も欲しいなぁ。
業界用語もたいへんで、地域によって意味が逆だったり、現場によって異なったり。
だいたい、法令の用語に従うと現場では逆の意味で使われていたりして混乱。
158: 08/14(木)08:36 ID:c3vBd7nS(1/2) AAS
売/買 を含む単語でバイと読む場合、baiとすると区別がつかない。
買が入っていても売りのことだったりする。おそらく賈と間違えたのかもしれないが、
もともと「買」で売り買いの意味で区別せずに使われていたらしい。
区別できないので賈という字が作られ、売という字になった。
baiとすべきか、読みを無視してuri/kaiにするか。読みだとしても正式な読み方と現場では違ったりする。
英語にしちゃうと理解できないやつが出てくるし。
159: 08/14(木)08:55 ID:c3vBd7nS(2/2) AAS
全部英語か、フランス語やラテン語交じりぐらいでなんとかしたいのだが、
たいていのプロジェクトではローマ字で、プロジェクトによっては訓令式だったりヘボン式だったり。
訓令式はプログラム言語と相性が悪く、ソースみても分かりにくく単純なバグをうみやすい。ヘボンのほうがマシ。
osakaかoosakaかohsakaか。地名はJRや地図などを...参照しても悩む。
calendarがcalenderになっているのはよく見かける。nagokaがnyagoyaになっているとほっこりする。
160: 08/15(金)23:27 ID:gOZqg9JJ(1/2) AAS
nagoyaとnagano同じでない。名古屋と長野は同じでないから
161: 08/15(金)23:33 ID:gOZqg9JJ(2/2) AAS
ヒストリカルな配列の変数名で格納するのは
CANVASという変数名のだけど、
配列は、HistCan にしようかな それとも CanAryかな
それとも、複数形ぽくして HistCans にしようかな
てか複数形ぽく最後にsつけたら配列ってわかるし
CANVASの配列ならヒストリカルって憶測つくし
Cansにしよぅかな。
162: 08/16(土)13:24 ID:f14H9fCx(1/4) AAS
nagoka -> nagoya
typoにいまごろ気づく。
直せずにそのままになっているプロジェクトも多いよねぇ。
canvas だったら canvasesでしょう。
163: 08/16(土)13:27 ID:f14H9fCx(2/4) AAS
historyならhistriesOfCanvasかなぁ。
164: 08/16(土)13:28 ID:f14H9fCx(3/4) AAS
histries -> histories
oが抜けた。
canvasHistsもありかな?
165: 08/16(土)13:33 ID:f14H9fCx(4/4) AAS
ともかく、統一する。historiesOf〜か、〜Historiesまたは〜Histsで統一だな、おれの場合は。
166: 08/16(土)16:21 ID:P1ZT/ww7(1) AAS
whatだけじゃなくwhyからも考えたほうがいいかもしれない
例えばcanvasに対する変更をundoできるように変更履歴を配列に入れてるということならundoStack/redoStackとか
historyをhistと略したりcanvasをcanと略するのはよほどその略語が浸透してるか文字数が著しく制限されている状況以外では避けたほうがいいと思う
それとcanvas1つの履歴データということなら意味的にはcanvasHistoryのように単数形が普通じゃないだろうか?
167: 08/17(日)07:40 ID:7PQ0N0Gk(1/2) AAS
ああそうだね、単一の履歴配列だったらhistoryだね。ついうっかりhistoryの配列だと思ってしまった。
単なる静的データであれば、historyで複数。
単一でない一連の操作のまとまりのようなデータの集まりであればhistories。
操作の履歴か、開始から確定までの履歴かの違い。後者は確定前と確定直後のundoの動作の粒度?が異なる。
datum(単数) -> data(複数) -> datas(dataを塊としたものが複数、業界での用法)
168: 08/17(日)08:04 ID:7PQ0N0Gk(2/2) AAS
undo/redoは難しく、エディタで入力文字やバックスペースなどをちまちまundoされるとかったるい。
編集点が確定できれば意味のまとまりに変換できる。作業履歴はすべて残すべきか、無駄か。AIが必要なのか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s