Swift-style-guide: توصية بشأن اصطلاح تسمية طرق التفويض؟

تم إنشاؤها على ١ مايو ٢٠١٦  ·  9تعليقات  ·  مصدر: raywenderlich/swift-style-guide

أفهم أنه من الممارسات الجيدة تمرير self لجميع استدعاءات طريقة المفوض ، مثل UIKit مع UITableView على سبيل المثال.

ما هي توصيتك لتسميتها؟

أمثلة:

func didSelectName(forNamePicker: NamePickerViewController, name: String)

أو ربما

func didSelectNameForNamePicker(namePicker: NamePickerViewController, name: String)

أو ربما ببساطة

func didSelectName(namePicker: NamePickerViewController, name: String)

التعليق الأكثر فائدة

هذا هو رأيي:

(1) يخالف هذا الدليل إرشادات Apple بشكل متكرر. للحصول على أمثلة ، راجع القسمين Naming و Protocol Naming ، وكلاهما يشير إلى Following Apple's API Design Guidelines .

(2) كثيراً ما تضع Apple اسم الكائن المفوض (على سبيل المثال self ) الكائن _first_. UITableViewDataSource و UITableViewDelegate show _many_ أمثلة على هذا:

optional public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

optional public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

(3) وبالتالي ، إذا حددنا أي شيء (أنا على الحياد بشأن ما إذا كان ينبغي لنا أم لا) ، أعتقد أننا يجب أن نتبع الأمثلة المذكورة. وبالتالي ، سأذهب مع هذا التوقيع:

func namePickerView(namePickerView: NamePickerView, didSelectName name: String)

ال 9 كومينتر

هذا منطقي أكثر بالنسبة لي

func didSelectName(name: String, forNamePicker namePicker: NamePickerViewController)

أعتقد أيضًا أنه يعتمد على ما تفعله هذه الطريقة وفي أي سياق تحدده.

حسنًا ، هذه هي طريقة المفوض النموذجية الخاصة بك ، وهي تنتمي إلى NamePickerViewControllerDelegate ، وهي تُعلم المفوض بأن المستخدم قد اختار اسمًا.

تعجبني نسختك ، سأبدأ في استخدامها.

أعتقد أن هذا سيكون إضافة رائعة إلى دليل الأسلوب (لم أره في الإصدار الحالي ولكني لاحظت وجود علاقات عامة معلقة كبيرة).

هذا هو رأيي:

(1) يخالف هذا الدليل إرشادات Apple بشكل متكرر. للحصول على أمثلة ، راجع القسمين Naming و Protocol Naming ، وكلاهما يشير إلى Following Apple's API Design Guidelines .

(2) كثيراً ما تضع Apple اسم الكائن المفوض (على سبيل المثال self ) الكائن _first_. UITableViewDataSource و UITableViewDelegate show _many_ أمثلة على هذا:

optional public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

optional public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

(3) وبالتالي ، إذا حددنا أي شيء (أنا على الحياد بشأن ما إذا كان ينبغي لنا أم لا) ، أعتقد أننا يجب أن نتبع الأمثلة المذكورة. وبالتالي ، سأذهب مع هذا التوقيع:

func namePickerView(namePickerView: NamePickerView, didSelectName name: String)

حق. أعتقد أن هذا سيبدو هكذا بالنسبة لـ Swift 3 ، حيث لن يتم التعامل مع المعلمة الأولى بشكل خاص كما هو الحال في Swift 2.2.

func namePickerView(_ namePickerView: NamePickerView, didSelectName name: String)

القيام بنفس الشيء الذي يعتبره مصدر عرض الجدول هو استراتيجية تسمية جيدة.

مفهوم. شكرا على التوضيح. @ JRG-Developer بقدر ما يمكنني إخبار إرشادات تصميم Swift API التي يشيرون إليها لا تتحدث صراحة عن تسمية طريقة التفويض. أعتقد أنهم يقولون أساسًا "اتبعوا شركة Apple" ، وهو ما أعتقد أنه ليس نهجًا سيئًا. الاتساق له فوائده.

شكرا لكم جميعا على مساهمتكم. أعتقد أننا يمكن أن نغلق هذه المسألة "على غرار أبل".

أعتقد أن دليل تسمية المندوب يجب أن يخرج من هذا حتى لو كان على غرار "اتبع خطى Apple".

نشكرك على مساعدتك في هذا fabienwarniez ... إذا كنت تريد إضافة نفسك إلى قائمة المساهمين ، فلا تتردد في إرسال العلاقات العامة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

WingYn picture WingYn  ·  15تعليقات

gokselkoksal picture gokselkoksal  ·  9تعليقات

rwenderlich picture rwenderlich  ·  29تعليقات

sima-11 picture sima-11  ·  5تعليقات

jackwu95 picture jackwu95  ·  6تعليقات