lundi 20 février 2012

La controverse notation pointée

Sorry! Il était Joe Conway, pas Aaron qui a écrit le message. J'ai corrigé l'article ci-dessous. Les points saillants sont inchangées, mais toutes mes excuses pour l'attribution erronée

Je savais que certains développeurs n'ont pas particulièrement soin de l'Objective-C 2.0 la notation «dot s, mais je ne réalisais pas à quel point certains d'entre eux pensaient. Joe Conway, de l' Big Nerd Ranch a une poste très très ferme sur les horreurs de notation pointée.

J'ai beaucoup de respect pour Joe et Big Nerd Ranch, et la lecture de son message, je comprends ses plaintes. Il a identifié certaines situations où la notation point peut prêter à confusion. En pratique, cependant, je ne trouve personnellement l'utilisation des propriétés à confusion dans le moindre et penser à dire aux gens de ne jamais, jamais, jamais les utiliser est l'imposition erronée d'une préférence personnelle plutôt que de sages conseils. S'il ya quelque chose proche d'un consensus sur la notation à points dans le Objective-C communauté des développeurs, c'est que la notation à points est un ajout positif à la langue.

Bien que, en termes de comment elles sont appliquées, notation pointée et les propriétés sont orthogonales, j'ai tendance à penser à eux comme travaillant main dans la main. Je l'utilise toujours la notation à points pour les propriétés et la notation crochets du reste du temps. Au lieu de rendre mon code plus difficile à lire, je trouve personnellement que cela rend beaucoup plus facile. Le seul point de confusion possible, j'ai eu avec cette approche vient lors de l'accès des membres struct ou union appartenant à des propriétés, mais en pratique, il n'est tout simplement pas un problème significatif pour moi et c'est compensé par le bénéfice de l'exposition de séparation de l'Etat à partir l'exposition de comportement, quelque chose qui n'a pas de support de langue de niveau en Objective-C antérieure à 2.0 et pas de support à tout niveau de langue dans la plupart des langages OO (si C #, donc bravo à Microsoft pour cela).

Mon seul problème avec notation pointée, si on peut appeler cela un problème, c'est que depuis qu'il ne veut pas dire exactement la même chose comme il le fait dans de nombreux autres langages OO tels que Java ou C + +, il peut être un peu une pierre d'achoppement pour programmeurs expérimentés qui sont nouveaux à l'Objective-C (et avec l'iPhone, il ya beaucoup de ces derniers temps). Il peut être difficile pour ces personnes de faire la transition car ils inconsciemment transférer leur compréhension de la notation par point à l'Objective-C et pensent qu'ils comprennent quelque chose qu'ils n'en ont pas. Le résultat de cela est généralement des problèmes de gestion de mémoire qui entravent l'enfer hors d'eux. Mais ce n'est pas vraiment un problème avec la langue, c'est juste une question de formation et à peine insurmontable. Il ya beaucoup d'heureux, bien ajusté ancienne C + + et les programmeurs Java dans les rangs des développeurs iPhone.

Alors, gardez à l'esprit que bien qu'il existe quelques développeurs bien respecté et expérimenté qui détestent notation par point, il ya beaucoup de développeurs plus respectés et bien informés qui font usage et comme eux (et moi aussi). Vous devriez vraiment lire le message de Joe et de donner son poids opinion. Il a travaillé avec et enseignement de la langue depuis un certain temps et c'est un gars vraiment, vraiment intelligents. Mais gardez à l'esprit que ce que vous lisez est juste un avis.

Aucun commentaire: