Improve translation up to "Prefer let-bindings over var-bindings wherever possible"
This commit is contained in:
Родитель
d89f25834a
Коммит
09248989b8
36
README_JP.md
36
README_JP.md
|
@ -1,13 +1,13 @@
|
||||||
Swift コーディング規約
|
Swift コーディング規約
|
||||||
|
|
||||||
このドキュメントは以下に挙げるゴールを達成するために必要なパターンから構成されています。(順番が大まかな優先順位となっています)
|
このドキュメントは、以下に挙げる目標を達成できる方法を促進するための試みとして作成されたものです。(大まかな優先度順となっています)
|
||||||
|
|
||||||
1. 精密さ・厳格さの向上, プログラマの思い込みによるエラーの減少
|
1. より厳密で、プログラマが誤解する可能性が少ないこと
|
||||||
1. 議論の明瞭性の向上
|
1. 意図が明確であること
|
||||||
1. 冗長性の減少
|
1. 冗長さが排除されていること
|
||||||
1. 美学についての議論の削減
|
1. 美学についての議論が少ないこと
|
||||||
|
|
||||||
もしおすすめのパターンがあれば[ガイドライン](CONTRIBUTING.md)を読み、プルリクエストを送ってください。:zap:
|
もし提案があれば、[ガイドライン](CONTRIBUTING.md)を読み、プルリクエストを送ってください。:zap:
|
||||||
|
|
||||||
また、日本語版のこのドキュメントでは Swift 言語仕様翻訳において[詳解Swift](http://www.amazon.co.jp/dp/4797380497)を参考としています。
|
また、日本語版のこのドキュメントでは Swift 言語仕様翻訳において[詳解Swift](http://www.amazon.co.jp/dp/4797380497)を参考としています。
|
||||||
|
|
||||||
|
@ -15,24 +15,26 @@ Swift コーディング規約
|
||||||
|
|
||||||
#### 空白
|
#### 空白
|
||||||
|
|
||||||
* タブを使う、スペースではなく
|
* スペースではなく、タブを使う
|
||||||
* ファイル終端は改行で
|
* ファイル終端は改行する
|
||||||
* 空白改行をロジック毎にコードを分けるときは使用する
|
* コードをロジック毎に分割するために、空白行を惜しみなく使う
|
||||||
* 行の末端に空白は残さない
|
* 行末に空白を残さない
|
||||||
* 空白行のインデント調整は除く
|
* 空白行でのインデント調整もしない
|
||||||
|
|
||||||
|
|
||||||
#### 可能な限り`let`宣言を`var`宣言より優先する
|
#### 可能な限り`var`宣言よりも`let`宣言を使う
|
||||||
|
|
||||||
`var foo = …`より`let foo = …`を可能な限り(どちらか迷った時にも)使いましょう。本当に使わないといけない時にだけ`var`を使うようにしましょう。(具体的にはあなたがその値が変わり得ることを*知っている*ときや、`weak`プロパティ修飾子を使っている時などです)
|
可能な限り(どちらか迷った時にも)`var foo = …`より`let foo = …`を使いましょう。`var`は本当に使わないといけない時にだけ使うようにしましょう。(具体的には、あなたがその値が変わり得ることを*知っている*ときや、`weak`プロパティ修飾子を使っている時などです)
|
||||||
|
|
||||||
_理由:_ 二つのキーワードの意図と意味が明瞭だからです。*デフォルトでlet*はより安全でより明確なコードを導き出します。
|
_理由:_ 二つのキーワードの意図と意味は明瞭ですが、*デフォルトでlet*を使うことは、より安全でより明確なコードになります。
|
||||||
|
|
||||||
`let`宣言は、その値が続くことになっており、決して変わらないという*プログラマへの明確なサインとなります。なので、連続的なコードではそれが読む上で強力な手助けとなります。
|
`let`宣言は、その変数の値が変わらないとを想定されていて、かつ実際に変わらない
|
||||||
|
ことを保証すると同時に、それをプログラマに明確に伝えます。そのため、その後に続くコードにおいて、その変数の用途を推測しやすくなります。
|
||||||
|
|
||||||
[?]コードの理由付けがより簡単になります。値が決して変わらないかどうか悩んでいる時に使った`var`に対して、あなたはマニュアルでチェックしないといけません。
|
コードを論理的に理解するのがより簡単になります。値が決して変わらないと考えているにもかかわらず`var`を使うと、本当に値が変わらないかどうかを手動でチェックしなければいけません。
|
||||||
|
|
||||||
|
この方法に従うと結果的に、`var`宣言が使われているのを発見した時は必ず、その値が変わり得ると推測したり、その理由を考えることができます。
|
||||||
|
|
||||||
[?]よって、いかなる場合でも`var`宣言が使われているのを発見した時はその値が変わると仮定し、なぜなのかを考えながらコードを読むことができます。
|
|
||||||
|
|
||||||
#### オプショナル型の開示指定は避ける
|
#### オプショナル型の開示指定は避ける
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче