Style and Quality
Skip navigation Structured Programming School of Computing Search query Search ANU web, staff & maps Search current site content Search Menu Search query Search COMP1110/1140/6710 Lectures Labs Assessments Help Search ANU web, staff & maps Search current site content COMP1110/1140/6710 Lectures Labs Assessments Help menu Search query Search COMP1110/1140/6710 Search query Monday: J14, B9 Labs: L6 Deliverables: DXM Homework: J14 Friday: G2 Help Getting Help Lecturer, Tutors, and Peers Online Resources Textbooks How-To Videos Working Remotely FAQ Getting help Piazza IntelliJ Git Style and Quality Coding Practice and Additional Resources Teaching and Lectures Teamwork Originality and Contribution Statements and YAML Related sites Piazza You are here » Getting Help » FAQ » Style and Quality Some assignment deliverables include marks for “good coding style”. What does this mean? Your code should be consistent in use of names, whitespace etc. I recommend following the Google Java Style Guide. Names should be meaningful and help to make the code ‘self-documenting’ wherever possible. Each non-trivial method should have a Javadoc comment which explains the purpose of the method, each parameter and the return value, as well as any important features of the interface such as input restrictions and reasons that exceptions may be thrown. Many assignment deliverables include marks for “exceptional quality”. What does this mean? Quality is indefinable. Robert M. Pirsig, Zen and the Art of Motorcycle Maintenance The criteria for these marks are deliberately open-ended, as we want to reward work that goes beyond what we expect for the course in creative and thoughtful ways. However, a program of exceptional quality will necessarily be: Correct and robust, implementing the specification and correctly handling all reasonable input. For example, a program that passes the unit tests but crashes for a different input that is not tested (but which is still allowed by the specification) would not be considered correct. Modular, with clear separation of concerns between the components. For example, in a GUI program for a game, the rules of the game will be implemented in a separate class or classes from the display of the game board. Each method should do one thing, and only one thing. Appropriate use should be made of object-oriented features such as encapsulation and inheritance. Understandable - it should be clear to a competent Java programmer what each component of the program does (and how). In good coding style, see above. Updated: 03 Sep 2021 / Responsible Officer: Director, School of Computing / Page Contact: Steve Blackburn Contact ANU Copyright Disclaimer Privacy Freedom of Information +61 2 6125 5111 The Australian National University, Canberra CRICOS Provider : 00120C ABN : 52 234 063 906 You appear to be using Internet Explorer 7, or have compatibility view turned on. Your browser is not supported by ANU web styles. » Learn how to fix this » Ignore this warning in future