Swift-style-guide: Recommandation sur la convention de dénomination des méthodes déléguées ?

CrĂ©Ă© le 1 mai 2016  Â·  9Commentaires  Â·  Source: raywenderlich/swift-style-guide

Je comprends que c'est une bonne pratique de passer self à tous les appels de méthode délégués, comme le fait UIKit avec UITableView par exemple.

Quelle est votre recommandation pour les nommer?

Exemples:

func didSelectName(forNamePicker: NamePickerViewController, name: String)

ou peut-ĂȘtre

func didSelectNameForNamePicker(namePicker: NamePickerViewController, name: String)

ou peut-ĂȘtre simplement

func didSelectName(namePicker: NamePickerViewController, name: String)

Commentaire le plus utile

Voici mon point de vue :

(1) Ce guide se réfÚre fréquemment aux conseils d'Apple. Pour des exemples, consultez les sections Naming et Protocol Naming , qui font toutes deux référence à Following Apple's API Design Guidelines .

(2) Apple place fréquemment le nom de l'objet délégant (c'est-à-dire self ) _premier_. UITableViewDataSource et UITableViewDelegate en montrent _beaucoup_ d'exemples :

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

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

(3) Ainsi, si nous spécifions quoi que ce soit (je ne sais pas si nous devrions ou non), je pense que nous devrions suivre lesdits exemples. De ce fait, j'irais avec cette signature:

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

Tous les 9 commentaires

Cela a plus de sens pour moi

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

Je pense aussi que cela dépend de ce que fait cette méthode et dans quel contexte elle est définie.

Eh bien, c'est votre méthode déléguée typique, elle appartient au NamePickerViewControllerDelegate, et elle informe le délégué que l'utilisateur a choisi un nom.

J'aime votre version, je vais commencer Ă  l'utiliser.

Je pense que ce serait un bon ajout au guide de style (je ne l'ai pas vu dans la version actuelle mais j'ai remarqué un énorme PR en attente).

Voici mon point de vue :

(1) Ce guide se réfÚre fréquemment aux conseils d'Apple. Pour des exemples, consultez les sections Naming et Protocol Naming , qui font toutes deux référence à Following Apple's API Design Guidelines .

(2) Apple place fréquemment le nom de l'objet délégant (c'est-à-dire self ) _premier_. UITableViewDataSource et UITableViewDelegate en montrent _beaucoup_ d'exemples :

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

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

(3) Ainsi, si nous spécifions quoi que ce soit (je ne sais pas si nous devrions ou non), je pense que nous devrions suivre lesdits exemples. De ce fait, j'irais avec cette signature:

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

Droit. Je pense que cela va ressembler à ceci pour Swift 3, puisque le premier paramÚtre ne sera plus géré spécialement comme dans Swift 2.2.

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

Faire la mĂȘme chose que la source de vue de table est une bonne stratĂ©gie de nommage.

Compris. Merci pour la clarification. @JRG-Developer Pour autant que je sache, les directives de conception de l'API Swift auxquelles elles se réfÚrent ne parlent pas explicitement de la dénomination des méthodes déléguées. Je pense qu'ils disent essentiellement "suivre l'exemple d'Apple", ce qui, à mon avis, n'est pas une mauvaise approche. La cohérence a ses avantages.

Merci Ă  tous pour votre contribution. Je pense que nous pouvons fermer ce problĂšme en "suivant l'exemple d'Apple".

Je pense qu'une directive de nommage des dĂ©lĂ©guĂ©s devrait en sortir, mĂȘme si elle va dans le sens de "suivre l'exemple d'Apple".

Merci pour votre aide sur ce @fabienwarniez ... si vous souhaitez vous ajouter à la liste des contributeurs n'hésitez pas à envoyer un PR.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

rwenderlich picture rwenderlich  Â·  29Commentaires

rayfix picture rayfix  Â·  3Commentaires

sima-11 picture sima-11  Â·  5Commentaires

jrturton picture jrturton  Â·  3Commentaires

icanzilb picture icanzilb  Â·  6Commentaires