こんちは。渡部です。
確かゴーリストでは昨年あたりにようやくJavaのコーディング規約を作りました。
一体どれほどの社員が見たでしょうか?
CTOは規約を守っているのでしょうか?
三項演算子にスペースは入れてくれているのでしょうか?
社内にSwiftユーザ少ないけどこれからきっと増えるから
ガイドラインを作っとこ、と思ったので少しずつブログで作っていきます。
命名規約
クラス名、構造体名、列挙型名、プロトコル名
基本キャメル型ですよね。
宗教論争になりますがここではキャメル型で通します。
class GoalistModel {} protocol GoalistModelDelegate: class {} enum Week: String {} struct Author {}
グローバル定数名、クラス定数名
こちらは大文字のスネーク型を使います。
完全に好みだけど世の中的にこれが多い気がします。
でふぁくとすたんだーど。
public let GOALIST_VALUE_NAME = "hokoriwomotsu" class GoalistModel { static let TABLE_NAME = "GOALIST_TABLE" }
変数名、関数名
もちろんキャメル型。
var userName: String = "watabe" func sendMessage(textMessage: String) -> Void { }
定義方法
変数、定数
1行で複数の宣言はやめましょう。
基本醜い、見にくいです。
let userName: String = "watabe" let userId: Int = 0
letとvarの違いは
letは定数、varは可変と認識してます。
間違ってたらすんません。
型宣言
基本します。
明確な場合はしなくても良くね?
と言われますがダメです。(圧)
let text = "hello" // は? let text: String = "hello" // OK let text = data["text"] as String // は? let text: String = data["text"] as String // OK
配列の初期化
色々あって何がよいやら、ですが以下の記述方法にします。
完全に好みです。
let member = ["watabe", "moritsugu", "iio", "chinapa"] // は? let member: [String] = ["watabe", "moritsugu", "iio", "chinapa"] // OK
今回は終わり
いやーガイドライン作成って大変ですね。
今日は面倒になってきたからこの辺にしておこう。そうしよう。
次は構文とか決めていきます。