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 > >