Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dot notation vs. message notation for declared properties

We now have the "dot" notation for properties. I've seen various back and forths about the merits of dot notation vs. message notation. To keep the responses untainted I'm not going to respond either way in the question.

What is your thought about dot notation vs. message notation for property accessing?

Please try to keep it focused on Objective-C - my one bias I'll put forth is that Objective-C is Objective-C, so your preference that it be like Java or JavaScript aren't valid.

Valid commentary is to do with technical issues (operation ordering, cast precedence, performance, etc), clarity (structure vs. object nature, both pro and con!), succinctness, etc.

Note, I'm of the school of rigorous quality and readability in code having worked on huge projects where code convention and quality is paramount (the write once read a thousand times paradigm).

like image 321
groundhog Avatar asked Aug 08 '09 17:08

groundhog


People also ask

Is it more efficient to access properties via dot or square bracket notation?

The dot notation is used mostly as it is easier to read and comprehend and also less verbose. The main difference between dot notation and bracket notation is that the bracket notation allows us to access object properties using variable.

What are the two types of notations does object property have?

There are two ways to access properties: dot notation and bracket notation.

What is dot notation?

What is the Dot Notation? In simple words, the dot (.) notation is a way to access the attribute and methods of each method of instances of different object classes. It is usually preceded by the object instance while the right end of the dot notation contains the attributes and methods.

What is dot notation and what is it used for?

Dot notation is one way to access a property of an object. To use dot notation, write the name of the object, followed by a dot (.), followed by the name of the property. Example: var cat = { name: 'Moo', age: 5, }; console.


1 Answers

Do not use dot for behavior. Use dot to access or set attribute like stuff, typically attributes declared as properties.

x = foo.name; // good foo.age = 42; // good  y = x.retain; // bad  k.release; // compiler should warn, but some don't. Oops.  v.lockFocusIfCanDraw; /// ooh... no. bad bad bad 

For folks new to Objective-C, I would recommend not using the dot for anything but stuff declared as @property. Once you have a feel for the language, do what feels right.

For example, I find the following perfectly natural:

k = anArray.count; for (NSView *v in myView.subviews) { ... }; 

You can expect that the clang static analyzer will grow the ability to allow you to check that the dot is being used only for certain patterns or not for certain other patterns.

like image 79
bbum Avatar answered Sep 28 '22 07:09

bbum