I would mention that the vast majority of Base Julia, although it's fairly
internally consistent, does not follow a lot of these rules. In particular,
the whitespace rules and some of the type annotation rules, and "for x in"
vs "for x =". I tend to follow rules that require a bit of judgement, but
therefore convey some subtle information about the code.

*Whitespace.* I don't use spaces when calling functions that are mathy:
f(x,y). I do, on the other hand, tend to use spaces when calling non-mathy
functions: endswith(str, substr). I think that math expressions should be
spaced so that they're readable and I'm not sure that a fixed set of rules
does that, although no spaces for tighter operations and spaces for looser
operations is the trend. I rely heavily on Matlab precedence of arithmetic
versus ":".

*For loops.* When the right-hand-side is a range like 1:n then I use =. When
the r-h-s is an opaque object that we're iterating over, then I use in.
Examples:

for i = 1:n
  # blah, blah
end

for obj in collection
  # blah, blah, blah
end




On Tue, Dec 31, 2013 at 10:01 AM, John Myles White <johnmyleswh...@gmail.com
> wrote:

> One of the things that I really like about working with the Facebook
> codebase is that all of the code was written to comply with a very thorough
> internal style guideline. This prevents a lot of useless disagreement about
> code stylistics and discourages the creation of unreadable code before
> anything reaches the review stage.
>
> In an attempt to emulate that level of thoroughness, I decided to extend
> the main Julia manual’s style guide by writing my own personal style
> guideline, which can be found at
> https://github.com/johnmyleswhite/Style.jl
>
> I’d be really interested to know what others think of these rules and what
> they think is missing. Right now, my guidelines leave a lot of wiggle room.
>
>  — John
>
>

Reply via email to