top | item 5948722

Analyze Github commits to know which convention is popular

63 points| sethbannon | 12 years ago |sideeffect.kr | reply

44 comments

order
[+] ethomson|12 years ago|reply
Maybe this is intended to be obvious, but it is not to me. Is this actually counting the number of commits that show a particular convention, or is it showing the number of occurrences of said convention?

The web site states "number of commits" (without really discussing methodology) which is, frankly, not at all interesting to me. Is a commit of 100,000 LOC weighted equally to a commit of one LOC? Are these projects internally consistent or no? Do projects eventually become internally consistent?

[+] isxek|12 years ago|reply
The site seems to stop after having one of the language icons selected. There's a "Loading..." graphic, then it disappears, then nothing. Is anyone experiencing the same issue?
[+] isxek|12 years ago|reply
Perhaps some kind soul can put up screenshots of whatever should be seen? (At least for Python & Javascript, which is what I'm interested in.)
[+] vmarsy|12 years ago|reply
What is the methodology for the 'Line length is over 80 characters' ? A lot of lines of code have less than 80 characters, no matter what the conventions are. What would be interesting is the percentage of files that have not a single line with more than 80 characters and the other files. It would be more obvious to see who doesn't care about 80 characters.
[+] graue|12 years ago|reply
Nice charts. I'd be curious about number of spaces, particularly for JS: 2 spaces seems more common in the Node community, but I see a lot of 4 as well. Perhaps it has to do with whether the author is more comfortable with Ruby (usually 2) or Python (4).

My current company goes against the grain by using snake_case instead of camelCase in JavaScript code. It weirded me out at first, but considering our backend is Python, it's nice not to switch conventions.

[+] rcsorensen|12 years ago|reply
I've come to really enjoy using the conventions of the language to keep things clear when writing css-rules that are intermixed with javaScriptVariables talking to a ruby_backend emitting jsonEncodedObjects.

Keeping things js-named helps keep my mind in the path of JavaScript conventions instead of Ruby ones in situations like array_of_things.pop and arrayOfThings.pop()

[+] jnuss|12 years ago|reply
Cool idea. I would love to see more languages and conventions added. I will say the background image at the top (the code with the focus explosion effect) gives me a headache though. The site looks better without the image.
[+] dansimau|12 years ago|reply
Python's PEP8 recommends underscores for functions, method names and instance vars, but the stats are showing a break down of camelCase with and without first capital letter (which shouldn't really be relevant).
[+] signed0|12 years ago|reply
Are you sure you are looking at the Python page? I don't see a category for variable names.
[+] leastfixedpoint|12 years ago|reply
It's wrong for Java. "final" is not what is usually called a constant there, "static final" is. Also, who ever uses special prefixes for statics?!
[+] znowi|12 years ago|reply
I feel bad for tab-lovers. A crushing defeat :)
[+] to3m|12 years ago|reply
Why should it matter what people think? There is no defeat. Why does it even matter what happens? We shall prevail, and it is inevitable.
[+] jlgreco|12 years ago|reply
I'd like to see this metric for C. I expect much higher tab-usage there.
[+] MattBearman|12 years ago|reply
Very cool idea, always interesting to see this kind of data.

My only feedback would be to put the language names as well as logos. I had no idea what those last two languages were, and waiting for the hover title text is a bit tedious (not to mention some people may not realise you can do that)

[+] kstenerud|12 years ago|reply
Interesting, though at no point does the site actually say what language it's analyzing. I recognize the javascript and java icons, and I'm guessing that since the third one is a snake, it's python, but I have no idea what the last one is.
[+] xnxn|12 years ago|reply
It's Scala. The icons have a title attribute.
[+] jmgrosen|12 years ago|reply
Yeah, that seems like a problem to me, too. (In case you're interested, the last one is Scala.)
[+] samspenc|12 years ago|reply
Am I the only one who couldn't recognize the Scala logo till I saw the HTML source?
[+] fennecfoxen|12 years ago|reply
Mystery meat navigation! I couldn't identify Python or Scala.
[+] gboudrias|12 years ago|reply
Good idea. Needs more conventions. And more languages of course.
[+] EricMuller22|12 years ago|reply
Agreed, very cool idea. Would love to see it expanded upon.
[+] joshavant|12 years ago|reply
If your favorite language isn't here, another trick you could use is adding 'site:github.com' to your Google searches.
[+] twiceaday|12 years ago|reply
There is a typo, for Java the last item says "Use special prefix fot staticvar"
[+] jtms|12 years ago|reply
strikes me as odd it doesn't offer ruby as a choice when Github started life and became popular catering to Ruby/Rails devs