Is giving a space after comma in functions the convention?
Show older comments
I more often see
y = pdf('t', x, df);
than
y = pdf('t',x,df);
That is, people often give a space after comma when writing the input arguments in a function. But then when indexing from an array like
array(1,2)
they do not do this. I also see this happening in books. So is this indeed a convention? If not, what is the comvention? Or are both just a matter of preference. But I doubt that preference is the case because I consistently see the above happening.
3 Comments
"I doubt that preference is the case because I consistently see the above happening"
It is just a preference.
Spaces sometimes add clarity and readability (e.g. distinguishing inputs arguments), in other cases compactness may be preferred. Sometimes you might want to use spaces to align inputs over several lines. Sometimes you might want to visually group things together (e.g. an anonymous function definition to distinguish it from other inputs).
If one rule worked for all situations then programming would not be an art.
DGM
on 25 Sep 2024
Don't take this as an authoritative answer, but I'll point out that in cases like this:
x = pdf('t', x, df);
... the spaces don't really do anything. The thing that separates the arguments is the comma.
However, in cases like this
y = [1 3 5; 7 9 11];
... spaces actually can act as separators equivalent to a comma, so that would be the same as
y = [1,3,5;7,9,11];
or
y = [1, 3, 5; 7, 9, 11]; % extra spaces don't matter
That is, spaces (and linebreaks!) can potentially be used differently during array concatenation than during the construction of a comma-separated list.
With that in mind, I could see why a book might at least avoid writing something like:
% this is also the same thing
y = [1 3 5
7 9 11];
... simply for matters of clarity. It's much more explicit to have the commas and semicolons in place, even if they mean the same thing.
I have no room to comment on best spacing practices.
Answers (3)
Star Strider
on 25 Sep 2024
2 votes
Leaving the space improves readabiity, so I usually do it. In reality, it doesn’t make any difference.
Both are matters of preference.
James Tursa
on 25 Sep 2024
Edited: James Tursa
on 25 Sep 2024
A MATLAB specific thing that is somewhat related is that spacing is important in concatenation. E.g., the following look similar but in fact can do different things because of how the parser works.
[1+2,3+4]
[1 +2, 3 +4]
[1+ 2, 3+ 4]
[1 + 2, 3 + 4]
In the second example above, the space is treated as a comma. Just something to be aware of.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!