Course Highlights
  • How to write clean code
  • How to keep your functions small
  • How to name your variables, functions and classes
  • How many parameters a function should have
  • What to do about boolean, nullable and return parameters
  • How clean code affected MVC
  • How to beautify predicates
  • Why comments are bad and when you can use them
  • The difference between an OOP object and a Data Structure Object
  • What kind of exceptions to use
  • Why composition is good and inheritance is bad
  • What are the symptoms of bad code
  • What state is and why it's important
  • Why your code should have low coupling and high cohesion
  • How to avoid spaghetti code
  • What are Command and Query separation, Tell Don't Ask and The Law of Demeter
  • The test pyramid and TDD
  • How over-engineering is not a solution to bad code
Curriculum

5 Topics
Why this course
Clean code: From Art to Science
What people say
Let's look at some code
Empathy

6 Topics
Small functions are easy to understand
More advantages of small functions
How many lines should a small function have
Single responsibility principle
Levels of Abstraction - An MVC discussion
High Level First - writing code using method calls first

6 Topics
Names - for methods classes and variables
Parameters
Programming line length
Beautify predicates
Comments
Should I use exceptions?

9 Topics
OOP Objects vs Data Structure Objects
Composition Over Inheritance
Symptoms of Bad Code
What is state in programming and why is it important. State and MVC.
Low Coupling High Cohesion
Command and Query Separation Tell Don't Ask and The Law of Demeter
Test Pyramid and Test Driven Development
Is over-engineering a solution to bad code? (spoiler: it isn’t)
Project

1 Topic
Bonus lecture

  Write a Review

Clean Code with Java examples

Go to Paid Course