Course Outline

Day 1


Good and standardized naming

-names of packages, files, classes, voids and functions as well as variables need to have meaningful names derived from their purpose

-should be readable

-should be searchable

-consider the namespace we're generating; does it make sense?

Classes, objects and data structures

-there's a difference between objects that do something and structures that simply contain data

-when to use data structures, and why

-when to use objects, and why

-OOD and abastraction

-getters/setters and why

-better to have many small classes, with many small voids and functions

Good comments

-there are good and bad comments;

-we need to know how to generate good comments and forget about the rest


Day 2


-one thing only


-arguments (good and bad)

-unintended side effects

Error handling

-when to handle errors, when to let them bubble up

-if we handle an exception, what do we do with it and why

-custom error handling classes

Code Formatting: how can we better format the code

Test-Driven Design: Open discussion of Uncle Bob's idea that programs should be TDD



There are no specific requirements needed to attend this course.

  14 Hours


Related Courses

Qt Programming

  21 hours

C++, QT, ZeroMQ and Protocol Buffers

  35 hours

Scratch Programming

  7 hours

Tcl/Tk Programming - 3 Days

  21 hours

Clojure: A Practical Introduction to Functional Programming

  21 hours

Workshop: Writing AST Based Plugins for Pylint

  7 hours

ELI: Getting Started with Array-oriented Programming

  21 hours

GUI Programming with Python and PyQt

  21 hours

Qt Quick and QML

  7 hours

Elixir and Phoenix

  14 hours

COBOL Programming

  14 hours

Assembly Programming from Scratch

  7 hours

Learning LabVIEW

  14 hours

ELM for Front-End Development

  14 hours


  14 hours