Unformatted text preview:

Coding MethodologyPay Attention to DetailCreate a SkeletonWrite Test CodeTypes of BugsAdd Debugging OutputCode, Compile, RepeatPhilosophies“Debug a Blank Sheet of Paper”- Dr. Brian HarveyUC BerkeleyCoding MethodologyHow to Design Code©2005MIT-Africa Internet Technology InitiativePay Attention to Detail• When implementing or using APIs details are everything.• Spelling and capitalization.• Names.• Argument types.• Return type.©2005MIT-Africa Internet Technology InitiativeCreate a Skeleton• Type in method signatures with empty bodies:– public static void foo() { }• For methods with primitive return types, declare a dummy variable or return 0:– private int bar(int x) { int i; return i; }– double deuce() { return 0.0; }• For Object return types, return null:– public String toString() { return null; }©2005MIT-Africa Internet Technology InitiativeWrite Test Code• Write test code that makes calls to your skeleton.• You’ll expect null or zero values and can’t call anything on the returned objects.• Start out with really basic tests, like instantiating an object.• Add new tests as you fill in your skeleton.©2005MIT-Africa Internet Technology InitiativeTypes of Bugs• Compile time bugs: typos and syntax.• Logic or control bugs: Correct syntax, but incorrect design. Compiles, but code does not work as expected.• Runtime bugs: Bugs that arise from data provided at runtime.– Bad input, divide by zero, null pointers.– Can be handled with Exceptions.– Or can cause program to crash.©2005MIT-Africa Internet Technology InitiativeAdd Debugging Output• Put in a lot of println() statements that output values of variables for yourself.• Can add messages like “Entering method foo” or “Exiting Method NNN”.• Can also add debugging messages that help you trace program flow through control structures. • Java 1.4 has java.util.logging package that helps with debugging output.©2005MIT-Africa Internet Technology InitiativeCode, Compile, Repeat• Add some code to a skeleton method.• Write test code to check the new code.• Compile your code.• Run it. • Check for correct debugging output.• Repeat.©2005MIT-Africa Internet Technology InitiativePhilosophies• Extreme Programming (XP):– Design test cases first, always test.– Implement incrementally.– Design organically (hack).– Expect to write the same code twice.– Code in pairs: Typist and shoulder-surfer.• Old School:– Design everything on paper.– Rigid implementation plan.– Testing and QA is last step.©2005MIT-Africa Internet Technology Initiative“Debug a Blank Sheet of Paper”- Dr. Brian HarveyUC


View Full Document

MIT SP 772 - Coding Methodology

Download Coding Methodology
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Coding Methodology and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Coding Methodology 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?