命名規則のススメ

16,723 views

Published on

2013年3月6日、久留米高専にて。
後半は若干テキトウ。

0 Comments
33 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,723
On SlideShare
0
From Embeds
0
Number of Embeds
494
Actions
Shares
0
Downloads
34
Comments
0
Likes
33
Embeds 0
No embeds

No notes for slide

命名規則のススメ

  1. 1. 命名規則のススメ @natrium113212013年3月6日, @久留米高専
  2. 2. おしながき 1. 命名規則って、何? 人名、学名、有機化合物の名前を例に 2. 命名規則、色々なルール 名前のスタイル、ハンガリアン記法 3. これがプロラボ部の命名規則だ! 英語力も必要です
  3. 3. おしながき 1. 命名規則って、何? 人名、学名、有機化合物の名前を例に 2. 命名規則、色々なルール 名前のスタイル、ハンガリアン記法 3. これがプロラボ部の命名規則だ! 英語力も必要です
  4. 4. 命名規則って、何?名前をつける時の規則 約束事 ・ 秀忠家光 家康 家綱 綱吉 家宣 家継 吉宗 家重 家治 家斉 家慶 家定 家茂 慶喜
  5. 5. 命名規則の例|人名 太郎 孝介 男の子 修平 翔太 ◯郎、◯介、◯平 一樹 正人 ◯太、◯樹、◯人 花子 雅美 女の子 麻衣 礼奈 ◯子、◯美、◯衣 美里 春菜 ◯奈、◯里、◯菜
  6. 6. 命名規則の例|学名原種植物Prunus dulcisアーモンド:バラ科サクラ属ヘントウPrunus mumeウメ:バラ科サクラ属ウメ 属名 種小名 Prunus campanulata バラ科サクラ属 カンヒザクラ
  7. 7. 命名規則の例|学名交配種植物Prunus ×yedoensis ‘Somei-Yoshino’ソメイヨシノ父親 母親 ‘ 園芸品種名 ’Prunus × yedoensis Somei-Yoshinoエドヒガン オオシマザクラ ソメイヨシノ
  8. 8. 命名規則の例|有機化合物 Para- 配置が対頂の di 2つの chloro 塩素を持つPara-dichlorobenzeneパラジクロロベンゼン benzene ベンゼン Benzene ベンゼン
  9. 9. 命名規則の例|有機化合物 1 1,4- 6 2 1番と4番に di 3 5 2つの 4 chloro 塩素を持つ1,4-dichlorobenzene1,4-ジクロロベンゼン benzene ベンゼン
  10. 10. 命名規則の例|有機化合物1,2- 1,3- 1,4-dichlorobenzene dichlorobenzene dichlorobenzene1,2-ジクロロベンゼン 1,3-ジクロロベンゼン 1,4-ジクロロベンゼン
  11. 11. 命名規則の例|有機化合物Ortho- Meta- Para-dichlorobenzene dichlorobenzene dichlorobenzeneオルトジクロロベンゼン メタジクロロベンゼン パラジクロロベンゼン
  12. 12. 命名規則の例|有機化合物これは? “Para-dibromobenzene” Para- 配置が対頂の di 2つの bromo 臭素を持つ benzene ベンゼン
  13. 13. 命名規則が大事な理由役割・性質の推測補助名前を見るだけで名付けられた物の役割や性質を推測できる Prunus 翔子 Meta- salicina dibromobenzene 女の子! サクラ属! !
  14. 14. 命名規則が大事な理由役割・性質の推測補助名前を見るだけで名付けられた物の役割や性質を他人でも推測できる 命名者が他人でも推測できる 集団開発において特に大事! 変数名・関数名など
  15. 15. 命名規則が存在しない例
  16. 16. 命名規則が存在しない例int t;int tt;int ttt; ,, -―-、 / ヽint tttt; / ̄ ̄/ /i⌒ヽ、| / (゜)/ / / / ト、.,../ ,ー-、 =彳 \\t゚。ttttヽ。、t / \\゚tttttttto / /⌒ ヽ ヽUtttto / │ `ヽUttttl │ │ Utttl |t! U
  17. 17. 命名規則が存在しない例 class surfaceviewview extends View { ... } ____ / \ / ⌒ ⌒\ びゅーびゅー・・・!? / (◯) (◯) \ | 、" ゙)(__人__)" ) ___________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n|| | | | ||/ / r. ( こ) | | | | | | ⌒ ーnnn |\ (⊆ソ .|_|___________|  ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
  18. 18. おしながき 1. 命名規則って、何? 人名、学名、有機化合物の名前を例に 2. 命名規則、色々なルール 名前のスタイル、ハンガリアン記法 3. これがプロラボ部の命名規則だ! 英語力も必要です
  19. 19. 名前のスタイル ケース名 例 全部小文字 getusername Camel ケース getUserName Pascal ケース GetUserName Snake ケース get_user_name Screaming Snake ケース GET_USER_NAME
  20. 20. どれを使おう?基本は使う言語に合わせるべき標準ライブラリの命名規則を覗いてみよう!
  21. 21. 言語例|C/C++ 全部小文字 名前空間名は using namespace std; クラス名はSnake class user_information { メンバ変数名はSnake public: int age; int get_age() { メンバ関数名はSnake return age; } }
  22. 22. 言語例|Java パッケージ名は全部小文字 import java.util.*; class UserInformation クラス名は Pascal フィールド名はCamel { public int age; public int getAge() { return age; } メソッド名はCamel }
  23. 23. 言語例|C# 名前空間名はPascal using System.Drawing; class UserInformation クラス名は Pascal フィールド名はPascal { public int Age; public int Weight { get; set; } プロパティ名はPascal public int GetAge() { return age; } メソッド名はPascal }
  24. 24. その他の命名スタイル各言語だいたい共通定数はScreaming Snake記法 const int MAX_SIZE = 100; final int MAX_SIZE = 100; static const int MAX_SIZE = 100;
  25. 25. その他の命名スタイルハンガリアン記法型やスコープの略称を名前の先頭に付ける記法 MFC - Microsoft Foundation Class 標準 CArray, CButton, …ライブラリ 採用例 C#.NET IComparable, IDisposable, …
  26. 26. ハンガリアン記法の例 接頭辞 意味 例 i int型 iPower b bool型 bFlag C クラス CString I インタフェース IDrawable g_ グローバル変数 g_number m_ メンバ変数 m_length
  27. 27. どれを使おう?基本は使う言語に合わせるべき但し個人的にはクラス名はC++もPascal記法にするのが好きハンガリアン記法はあんまり好きじゃないあとは正直好みの問題集団開発では最初に共通の規約を決めておく
  28. 28. 毎回守らないといけないのか?変数の見える範囲を考えるクラスのpublicなメンバは他人も見るprivateなメンバやローカル変数は自分しか見ない
  29. 29. おしながき 1. 命名規則って、何? 人名、学名、有機化合物の名前を例に 2. 命名規則、色々なルール 名前のスタイル、ハンガリアン記法 3. これがプロラボ部の命名規則だ! 英語力も必要です
  30. 30. 1. 名前は英語でYou are prohibited to use Japanese. int kosuu; char namae[256]; int kakeru(int kou, int otsu); int number; char name[256]; int multiply(int a, int b);
  31. 31. 2. クラス・変数・フィールドは名詞「名前」を表す int sent; int sentNumber;
  32. 32. 3. 関数・メソッド名は動詞「動作」を表す int number(); int getNumber();
  33. 33. 4. その他細かいルールbool型変数とboolを返す関数は状態動詞・be動詞・助動詞・完了形 bool containsKey(int key); // 状態動詞 bool isAsleep; // be動詞 bool canSend(); // 助動詞 bool hasExpired(); // 現在完了形 状態動詞と現在完了のhaveには 三単現のsを付ける
  34. 34. 4. その他細かいルール単語の対義語を意識する start stop begin end add remove get set first last send receive
  35. 35. 命名規則を正しく守って、 優雅で健康的なプログラミングライフを。

×