twitteroct2008.pdf
DESCRIPTION
TRANSCRIPT
BAY AREA SCALA ENTHUSIASTSWELCOME TO TWITTER!
HELP YOURSELF TO BEER AND SUCH IN THE KITCHEN.
♥
TWITTER’S SCALA HEADS
ROBEY
STEVE
ALEX
STYLE GUIDELINES
IMPORTS
ENUMERATE ALL IMPORTS
USE WILDCARDS FOR MORE THAN SIX
USE BRACE NOTATION FOR MULTIPLE ITEMS IN A PACKAGE
AVOID “RELATIVE” IMPORTS
ALL IMPORTS MUST BE AT THE TOP OF THE FILE
IMPLICITS
AVOID THEM!
THEY MAKE DEBUGGING CONFUSING
DOCUMENT THOROUGHLY IF YOU HAVE TO USE THEM
RESTRICT TO THE SMALLEST POSSIBLE SCOPE
REFLECTION (JAVA)
AVOID IT!
SLOW
POTENTIALLY CONFUSING
COMMENTS
MANDATORY
VSCALADOC
SCALADOC EVERY CLASS AND NON-TRIVIAL METHOD
WRITE IN PASSIVE VOICE, EX:
“RETURNS A LIST[STATUS] OF 20 STATUSES FOR THE GIVEN USER.”
WHITESPACE
2 SPACES, NO TABS
NO TRAILING WHITESPACE
KEEP LINES TO 100 COLUMNS MAX
LOGGING
USE ONLY JAVA.UTIL.LOGGING.LOGGER
NOTHING GOES TO STDOUT/STDERR
NAME THE LOGGING OBJECT/VARIABLE “LOG”
PROJECT LAYOUT
MAVEN CONVENTIONS FOR DIRECTORY STRUCTURE, EX:
SRC/[MAIN|TEST]/[SCALA|JAVA]/COM/TWITTER/FOO
DEPLOY JARS
USE ANT + IVY AS THE BUILD SYSTEM
VARIABLE NOMENCLATURE
DON’T EXCESSIVELY ABBREVIATE VARIABLE NAMES
IT’S OKAY TO USE I, J, K, ETC. FOR INDICES
USE “RV” FOR TEMPORARY RETURN VALUES
THANKS FOR COMING!