Course Outline

Day 1

Introduction

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

Functions

-one thing only

-small

-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

 

Requirements

There are no specific requirements needed to attend this course.

  14 Hours
 

Testimonials

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

Bazel

  14 hours