タグ

命名に関するy_yukiのブックマーク (6)

  • 関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で、様々なクラスと密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、命名に関する考え方を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 巨大クラスを爆砕し、小さなクラス群に分割する。 クラス結合度を下げ、影響範囲を小さくすることで保守コストや変更コストを下げる。 ダメな例 例えばECサイトの「商品」を考えてみます。 よくありがちなのは、商品をそのまま「商品クラス」と設計してしまうこと。 単純な商品クラスは、往々にして出品、予約、注文、発送など、様々なユースケースのクラスと結合してしまいがちです。 商品クラス自体も、結合したクラスに関連する知識(ロジック)を持ち始め、どんどん巨大化複雑化していきます。

    関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita
  • Goの変数名が短い理由(あるいはGoがほかの言語と違う理由)

    Goのコードを読んでいると変数名がやたらと短いことにすぐ気がつくと思う。c, i, nみたいな1文字変数や、br, wr, errみたいな2〜3文字の変数がいたるところで使われている。これは他の言語、特にJavaみたいな言語と比べるとぱっと見でずいぶん違うところだ。 どうしてこんなに短い変数名でよしとしているの? という疑問を抱くのはもっともなことだ。でもそれに対しては、なぜそんなに変数名が長くなくてはいけないの? という質問を返すことになると思う。 Goは、最近では当然のものとして受け止められている(が昔は特にそうでもなかった)「プログラミングの常識」を改めて問い直した言語だ。 たとえば、複雑なクラス階層のあるオブジェクト指向言語機能は、当にプログラミングを簡単にするのに役立っているのだろうか? 例外機構はそれが持ち込むややこしさに見合う存在意義があるのだろうか? ジェネリクスやテンプ

  • 関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive

    PHP に限らず、プログラミングで使われる多くの関数名は「動詞+目的語」という命名規則になっていることが多く、「insertPost()」であれば投稿を挿入するという意味が名前から読み取れます。 では投稿を削除する場合は delete でしょうか? それとも remove でしょうか? 関数は基的に英語を使うのが鉄則ですが、似たような意味を持つ単語などが多く厳密な意味の違いがわかりにくいことがあります。 そこで、プログラミングで関数名として一般的に使われている頻出語句をピックアップし、主な用途と細かい意味、ニュアンス、使い分けについて調べてみました。 追加・作成 set

  • クラスの命名のアンチパターン - Qiita

    昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParameter FooResult, FooStatistics, FooSummary FooBuffer, FooList, FooCollection, ... ProductListItem, TranslationTableEntry, etc. Prod

    クラスの命名のアンチパターン - Qiita
  • codic - デベロッパーのためのネーミング辞書

    codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。

    codic - デベロッパーのためのネーミング辞書
  • [対義語]プログラムのメソッドの命名 - Dzz/D's Note

    それぞれ反対の意味を持つ語の表Add / Remove Insert / Delete Get / Set Start / Stop Begin / End Send / Receive First / Last Get / Release Put / Get Up / Down Show / Hide Source / Target Open / Close Source / Destination Increment / Decrement Lock / Unlock Old / New Next / Previousよく忘れるのでメモ。 ちなみに英語化するときに有名な話で 日人がよく使う「regist」って言葉があります。 仕事でもチラホラ見かけたりしたんですが この単語、日人が作り出した誤った単語です。 あまつさえ「registed」とかワケわからん言葉とか。 単語としては「r

  • 1