Saturday, February 21, 2009

Coding in a Big Place

Usually, I give talks about our developer tools and how to use them. But recently, I was asked to give a very different talk - about how we enforce good coding practices at Google. The talk was for another large company that finds themself in the position of growing larger and larger, but with increasingly disparate and ghetto* coding standards across the company. I put together a presentation about how the Google codebase is organized and managed, based on my own experiences working on Google Maps and Google Code, 2 fairly different servers that are subject to the same cross-Google standards.

You can check out the slides below, and try to imagine what I said while talking over them :)

One of the slides talks about coding conventions. For people wondering about coding conventions for their own projects, check out our published style guides for C++, Objective C, Python, Java (kind of), and JavaScript (super-mini-version). We have style guides for a few other languages internally; I'll try to bribe my colleagues into publishing those.

Another slide talks about versioning. For people who need to teach colleagues how to use version control, this SVN lesson may be helpful.

By the way - all the screenshots are from public sites that simply look like internal tools, like Google Code Search and Google Code Project Hosting.

*"ghetto" is a technical term. Attend college in downtown LA, and you'll figure out what it means.


Anonymous said...

The link to the Python coding conventions seem to link to Java. Otherwise, this gives me a lot of insight with regards to collaborative coding. And I can imagine you talking over them. Thanks! :)

Pamela Fox said...

Fixed the Python link, thanks for pointing that out.

Glad this helps. :)