CSE250 Fall2009 Minimal Coding Guidelines

Pretty minimal, and merely common-sense. They are:
  1. For any code file that you have written or modified, your full name must go in a /** ... */ "header comment" at the top of each code file (# comment for a Makefile). The StudentID# is not requested on code submissions---while it is required on hardcopy submissions and exams.
  2. Instructor-provided files that you do not modify may be left as-is.
  3. Any source other than instructor(s) must be acknowledged in the header comment.
  4. Lines shall fit within 150 columns, except for the occasional jawbreaker namespace-qualified templated iterator operator application...
  5. Indentation shall be consistent. Use a 3-5 space indent.
  6. Files should not contain tabs---they are non-portable. (You can set most IDEs to convert indent tabs to 3 or 4 spaces.)
  7. Long interior blocks shall have a comment on the closing "}" identifying keyword(s) on the line with the corresponding "{".
  8. Insofar as Scala has no primitive types, and as Scala/Java do not follow the C++ conventions of reverting to lowercase to distinguish library-provided types from user-defined ones, we can almost-uniformly follow the usual OOP convention of: Uppercase for types, lowercase for method and variable names.

Guidelines that are not mandated:

When in doubt, follow Scala's own naming conventions, but these strike me as pretty natural and non-intrusive.