nDiki : 命名規則

命名規則 - naming convention, naming rules

コンピュータでの識別子の形式的な命名規則としては、先頭を大文字にした単語を連結する CamelCase や、アンダースコアで単語を連結する方法がある。

CamelCase

Java

Java言語コーディング規約では

CamelCase を指定している。

アンダースコア派

GNU Coding Standards

GNU Coding Standardsでは iCantReadThis と(CamelCase は読みづらいと)述べ、アンダースコアで連結する方法を推奨している。

CamelCase よりもアンダースコアで連結する形式の方が(特に英語がネイティブでない人にとって)読み易いとしている。 また、全て大文字である単語であってもアンダースコアで連結する方法は首尾一貫している事を述べている。

Perl

Perl style guide では、アンダースコアで単語を連結する方法を採用している(パッケージ名を除く)。

プライベートな名前

Java

Code Conventions For The Java Programming Language では特に決まりなし。

ちなみにアンダースコアで始まる変数名は 「9. Naming Conventions」 で禁止している。

Perl

Perl style guide ではアンダースコアで始まる変数や関数はパッケージ内で使用するものとすることを推奨している。 Private モジュールを使用すると、実行時にこれらを隠すことができる。

スポンサード リンク

2000年11月6日 (月)

計算機の名前を選ぶには……

新しくコンピュータを手にいれて Linuxインストールする中で、時間がかかる作業は、

  • ハードディスクのフォーマット
  • ハードディスクのパーティション分割の計画
  • ホスト名の決定

だ。少なくとも私の場合。 結局一旦決めたら変えない事が多いので、やはり最初かなり悩む。 まあ、へなちょこな名前で落ちつく事の方が多いのだが。

そんなときには、ちょっと古いけど RFC1178。 先週他の RFC 調べていた時に日本語訳が目についたのでチェック。

読んでも名前は決められないけれど、少なくとも悪い名前は避けやすくなるだろう。

追記

RFC2100 'The Naming of Hosts' というのもあり。

2001年7月2日追記。 中里 武志氏による邦訳の URLhttp://www.nn.iij4u.or.jp/... から、http://www.goto.info.kanagawa-u.ac.jp/... に変更。


[ 命名規則 ]

スポンサード リンク
[ 11月6日全て ]

2005年10月10日 (月)

[ WiKicker ] WRI まわりの整理

WRIに関して、private method、protected method がごちゃごちゃしてわかりにくくなってきたので整理。

今まではプライベートメソッドも、プロテクトメソッドも

 _private_method

のようにアンダースコアをつけていたのだがこれだと区別しにくい。 プライベートメソッドについては、

 __private_method

のように、__ を前置するようにした。 区別は容易になるが、コードが繁雑になるのが問題。


[ 命名規則 ]

[ 10月10日全て ]

2009年8月20日 (木)

アクセサは foo と set_foo にしたい

オブジェクト指向プログラミングではほとんどの場合に必要となるアクセサについては命名規則にいくつかのパターンがある。

  1. 属性名に対して getter に get (get_)、setter に set (set_) をプレフィックスとしてつける。
  2. getter も setter も同じ名前とし属性名にする。
  3. setter のみ set (set_) を属性名にプレフィックスとしてつける。

1 番目は Java プログラミングでよく使われる。 またそれ以外でも広く使われている形式だ。 get と set 命名規則的に対になっていて規則的には美しい。 getter と setter を別々に検索するのも用意だし、プログラミング時にも誤解を招きにくい。

ただし例えば x、y、z のような短い名前の属性の取得の場合 obj->get_x などと、うるさい感じになってしまう。また obj->get_foo->get_var なども obj->foo->var などに比べてすっきり感がない。

2 番目は Perl でよく使われる。C# のプロパティへのアクセサは getter と setter が同じ名前になる。 呼び出し側ではコードが短くなりすっきりする。

ただし Perl の場合は引数の数を動的にチェックするために効率が若干犠牲になるのと、setter の機能が無いアクセサに引数を渡してもエラーにならないため見逃しやすいバグが潜んでしまう可能性があるなどの問題もある。Perl ベストプラクティスではこの形式ではなく1番目の形式を勧めている。

3 番目はあまり多くないかな。 getter に get がついていると個人的には重い印象を感じる。 getter を属性名だけにすることですっきりするとともに、setter は set_ と動詞がつくことでオブジェクトに働きかけるという印象を残すことができる。

命名規則が非対称なのでちょっと気持ち悪いといえば気持ち悪い。

Google C++ スタイルガイドではこの形式を採用している。

個人的には3番目がコードの見た感じにもすっきりしていて読みやすく、また getter と setter の区別も(1番目ほどではないにせよ)つきやすいので良いのではないかと思う。 2番目もよく使っていたのだが、しばらく3番目にしてみようかと思った今日このごろ。

[ 8月20日全て ]

2013年10月7日 (月)

サブタスクを使えるタスクリストツール検討 2013秋

Remember The MilkGTD システムを構築していておおむねいい感じなのだけれど、あいかわらずサブタスク機能は入る様子が無いので、プロジェクトから次の行動をブレークダウンしたい時にちょっと不便。タスクの命名規則や並び順やらタグやらを駆使しているので PC 上なら工夫でカバーできるんだけれど、スマートフォンからだと入力の手間的にブレークダウンをサクサクできないのが難。

ということでスマートフォンでタスク階層をこねくり回せて、あわよくば Remember The Milk からスイッチできるものがないか、使ったことのないサービスなどをチェックしてみた。

AndroidiOSWeb (PC) で同期して使えるのが条件。

  • GQueues
    • https://www.gqueues.com/
    • 予想よりシンプル。
    • Web
      • 直観的なインタフェース。全体的にゆったり大きめで1画面の情報量がちょっと少なく見通しが悪そう。
    • Android
      • サブタスクがツリーで表示されず、選択すると次の画面でサブタスクリストが開いていくタイプ。全体を俯瞰して検討できない点で NG。
      • カテゴリ名が表示されないとう不具合に遭遇。
    • iOS
      • UI 的には Android 版と同等で NG。
      • サブタスクから上の階層に戻った時にうまく表示されないという不具合に遭遇。
    • 総評: モバイル版の UI がいけてないので NG。
  • Todoist
    • http://todoist.com/
    • Web
      • 久しぶりに使ってみた。数年前に使ったのと基本構成は変わっていない模様。
      • GTD 的な次の行動タスクのみ抽出したリストが作れない。
    • 総評: モバイル版までは試さなかったけど、あえてチョイスするほどでもなさそう。
  • Nozbe
  • Any.DO
    • Android
      • 階層無し。シンプルすぎ。
    • 総評: タスクブレークダウンの検討には使えない。
  • Google Tasks
    • https://mail.google.com/tasks/canvas
    • Web
    • 機能的にはここ数年変化なし。サブタスクへのブレークダウンはさくっとできる。ただしリスト横断的にタスクをリストアップする機能がないので「今日やること」などを一覧できない。メインでの行動管理には使えない。
    • GTasks (Android)
      • 以前使ってみた時は同期・アカウント回りが不安定だったんだけれど、今回再度使ってみたら問題なさそう。次の行動タスクだけの抽出はできないので、期日設定して日付順ソートで浮かびあがらせるといった使い方が必要。
    • GoTasks (iOS)
      • (サブ)タスクの追加・階層変更の UI がとても心地よい! 使いたくなるインタフェース。GTasks と同様次の行動タスクだけの抽出はできないので、期日ソートを活用する必要あり。
      • Google Apps とも同期できるとあるが、認証承認は通るものの同期できず。Google アカウント側でみるとタスクだけでなく Google+ への承認をとっているので、Google Apps 側でそれを有効にしていないと処理が進まないのかも。
    • 総評: そのまま常用の行動管理には使えないけれど、モバイルでのタスクブレークダウンには良さそげ。

ということで Remember The Milk の置き換えになるのは見つからなかった。やはり Remember The Milk 最強。ただ Gtasks + GoTasks がいい感じで、スマートフォンでリラックスしながらタスクブレークダウンするのに使いたいなと思うので、一部併用してみようかなと思う。


[ Android アプリレビュー ]

[ 10月7日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.052615s / load averages: 0.54, 0.43, 0.36
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker