Coding Guidelines

This page was inspired by and partially derived from the CS244A coding guidelines.

Like any other complicated system, a good compiler must be carefully designed and implemented. We encourage you to practice good design and implementation techniques. If you don't, you are likely to encounter issues as you try to extend your compiler in later parts of the project.

At a minimum, we expect you to have useful comments, meaningful variable names, and good functional decomposition. We are not dictating any specific style - we leave that to you. But in case you're wondering what kind of coding style meets our criteria, you might want to look at Julie Zelenski's Good Programming Style handout from CS106X. You might also take a peek at the Linux Kernel Coding Style.

To help motivate you, 15% of your project grade is allocated to whether you adequately practiced good design and implementation techniques. You'll either get all of it, half of it, or none of it.

CS143 Resources
Outside Resources
Command References