Style and Quality | Structured Programming Skip to main content Open main menu Search this site Navigation menu Home Schedule Contains current page: Lectures Show lectures submenu Hide lectures submenu Lectures Overview Overview Lectures by Session Lectures by Session Lectures by Theme Lectures by Theme Labs Contains current page: Assessments Show assessments submenu Hide assessments submenu Assessments Overview Overview Deliverables Deliverables Contains current page: Help Show help submenu Hide help submenu Help Lecturer, Tutors and Peers Lecturer, Tutors and Peers Software Setup Software Setup How-To Videos How-To Videos FAQ FAQ Online Resources Online Resources Textbooks Textbooks Close main menu Search this site Search this site (powered by Google) Powered by Google Close search Home / Lecturer, Tutors, and Peers / FAQ / Style and Quality 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. Back to top Acknowledgement of Country The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history. Twitter Facebook Instagram Youtube LinkedIn WeChat Contact ANU Copyright Disclaimer Privacy Freedom of Information The Australian National University, Canberra CRICOS Provider : 00120C ABN : 52 234 063 906 Updated: 22 Apr 2022 | Responsible Officer: School Director | Page Contact: Paul Scott bars search caret-down plus minus arrow-right times arrow-up