ينص دليل النمط الحالي على تهيئة المصفوفات والقواميس بالطريقة التالية.
var names = [String]()
var lookup = [String: Int]()
أود أن أدافع عن هذا لصالح:
var names: [String] = []
var lookup: [String: Int] = [:]
هذا هو الأساس المنطقي الخاص بي:
[Type]()
أجنبيًا ، خاصة بالنسبة للوافدين الجدد. بالنسبة لي ، يقرأ : [Type] = []
ببساطة أفضل في كثير من الحالات.var stuff = [1, 2, 3, 4, 5, // ... 100 more numbers
106.7, 107, "haha", nil, 108, 109]
يحتاج مدقق النوع إلى مسح جميع العناصر لكتابة الاستنتاج بشكل صحيح stuff
. حتى في حالة عدم وجود حيل ("هاها") ، فقد رأيت هذا المستنقع يسقط المحرر. (مرحبًا قوس قزح.) يبدو أن جعل مدقق النوع يعمل من أجلك لمضاعفة التحقق من عملك فكرة جيدة.
var items: [Type] = []
. https://twitter.com/_jackhl/status/646480946619805697ما رأيك؟
rayfix لقد نمت لأفضل التنسيق المقترح الخاص بك ، مثل var names: [String] = []
منطقتي هي أن هذا النهج يبدو أكثر اتساقًا مع النهج الذي ستتبعه عندما تريد تحديد مصفوفة بثابت let
. (لن تقوم بتهيئته إلى مصفوفة فارغة لأنك لن تكون قادرًا على تغييره لاحقًا)
على سبيل المثال في حالة الفصل:
class SimpleClass {
let array: [String]
init(array: [String]) {
self.array = array
}
}
أو عند تحديد مصفوفة ثابتة تعتمد قيمتها على شرط.
let array: [String]
if condition {
array = array1
} else {
array = array2
}
+1 كبيرة على هذا!
لقد اخترت الترميز var array: [Type] = []
لدوراتي لأنه يسمح لي بتدريس المصفوفات (والقواميس) في وقت مبكر إلى حد ما في دوراتي. نهج التدريس الخاص بي هو البدء من الصفر ، وإضافة موضوع واحد فقط في كل مرة وعدم ترك الأشياء بدون تفسير. يسمح لي هذا الترميز بالقيام بذلك لأنه لا يتضمن أي مواضيع لم يعرفها الطلاب بعد في هذه المرحلة ، مثل المُبدِعين أو الأدوية الجنيسة.
أحبها. أستخدم بناء الجملة الذي اقترحته في قواعد البرمجة الخاصة بي ؛ تعريف ونوع var على جانب واحد من المعادلة ، والقيمة على الجانب الآخر. جميل وبسيط.
التعليق الأكثر فائدة
rayfix لقد نمت لأفضل التنسيق المقترح الخاص بك ، مثل
var names: [String] = []
منطقتي هي أن هذا النهج يبدو أكثر اتساقًا مع النهج الذي ستتبعه عندما تريد تحديد مصفوفة بثابت
let
. (لن تقوم بتهيئته إلى مصفوفة فارغة لأنك لن تكون قادرًا على تغييره لاحقًا)على سبيل المثال في حالة الفصل:
أو عند تحديد مصفوفة ثابتة تعتمد قيمتها على شرط.