Style Rules IStyle is importantAbout the bookRule 1 Adhere to the style of the originalRule 3 Do it right the first timeThe “broken window” theoryFrom “The Pragmatic Programmer”Rule 5 Indent nested codeIndenting particular statementsHow much should you indent?Rule 6 Break up long linesRule 8 Don’t use “hard” tabs“Soft” tabsWhat about the rules I skipped?The EndStyle Rules IStyle is important•Everyone agrees that good style is important–Everyone agrees on most of the essentials–But some people have “religious wars” over style–It’s the subtle points that get people really upset•Subtle points mostly aren’t very important•The essential points make a clear difference, so these are the ones people can agree on•...Just like a lot of other things in life!About the book•This book is a team effort by many good programmers, not just one person’s opinions•The rules have been widely distributed and commented upon•The rules reflect widespread and accepted practices•And no, I don’t agree with everything in the book!Rule 1Adhere to the style of the original•Consistent style is very important•Most times, you will enter an ongoing project, with established style rules–Follow them even if you don’t like them–Don’t try to establish “better” style rules•It won’t work anyway•There may be reasons you don’t know about•If a project has mixed styles with no consistency, you might try to get people to agree on oneRule 3Do it right the first time•You’re working on a large project, so you use good style...•...but you need a tool to help you do one little job, so you slap it together quickly•Guess which program will be around longer and used by more people?The “broken window” theoryIn inner cities, some buildings are beautiful and clean, while others are rotting hulks. Why? Researchers in the field of crime and urban decay discovered a fascinating trigger mechanism, one that very quickly turns a clean, intact, inhabited building into a smashed and abandoned derelict .A broken window.From “The Pragmatic Programmer”Don't leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one assoon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, or display a "Not Implemented" message, or substitute dummy data instead. Take some action to prevent further damage and to show that you're on top of the situation.Rule 5Indent nested code•Always indent statements that are nested inside (under the control of) another statement•if (itemCost <= bankBalance) { writeCheck(itemCost); bankBalance = bankBalance - itemCost;}•while (seconds > 0) { System.out.print(seconds + "..."); seconds = seconds - 1;}Indenting particular statements•Java has several kinds of statements, and the book tells how to indent each•The general form is usually like this:–controlling-statement { nested-statements}•Sometimes I violate good style on these slides because I have to make it all fit!How much should you indent?•If you indent too little, the indentation is harder to see and doesn’t help very much•If you indent too much, deeply nested code gets pushed too far to the right•In general, 2 to 4 spaces seems about right–The book suggests 2 spaces–BlueJ’s default is 4 spaces•Just pick a number and stay with itRule 6Break up long lines•Scrolling a window horizontally is a pain!•When you print on standard paper, long lines are either cut off or wrap in bad places•I have long used a 72 character limit•Some editors will show you a limit line•The book provides good advice on how to break up long lines (read it!)Rule 8Don’t use “hard” tabs•Once upon a time, you could depend on tab stops every eight character positions•Today, every editor has its own idea of where and how to set tab stops•If you change editors, your nice indentation gets ruined–It’s worse if you use both tabs and spaces–I have learned this one the hard way!“Soft” tabs•Some editors (the good ones) will let you set a preference so that, when you type a tab, the editor automatically uses the right number of spaces instead–This is what is called a “soft” tab•BlueJ uses exclusively soft tabs (as of 1.1.4)–Use tabs all you like in BlueJ–Remember that most editors don’t do this automaticallyWhat about the rules I skipped?•Those rules are important, too•I’m skipping around for a variety of reasons:–Rules 2 and 4 will make more sense later–Rule 7 has too much detail to talk about right now (but it’s a good rule!)•I’ll try to talk about every rule in class•This is a good book, worth reading several timesThe
View Full Document