Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-02-02 15:06:59
30-Day Money-Back Guarantee
Development Programming Languages Java

Clean Code with Java examples

In this Clean Code Java course you will learn useful software principles that you can use in your every day programming.
Rating: 4.2 out of 54.2 (45 ratings)
12,237 students
Created by Liviu Oprisan
Last updated 7/2020
English
English
30-Day Money-Back Guarantee

What you'll learn

  • 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

Course content

4 sections • 26 lectures • 2h 2m total length

  • Preview02:25
  • Preview02:48
  • Preview04:39
  • Sample code
    03:03
  • Empathy
    03:12

  • Small functions are easy to understand
    18:15
  • Preview08:17
  • How many lines should a small function have
    03:34
  • Single responsibility principle
    01:33
  • Levels of Abstraction - An MVC discussion
    11:42
  • High Level First - writing code using method calls first
    03:13

  • Preview07:27
  • Preview04:37
  • Programming line length
    01:52
  • Preview01:11
  • Preview04:30
  • Should I use exceptions?
    00:41

  • Preview04:38
  • Preview05:16
  • Symptoms of Bad Code
    02:03
  • What is state in programming and why is it important. State and MVC.
    05:40
  • Low Coupling, High Cohesion
    07:43
  • Command and Query Separation, Tell Don't Ask and The Law of Demeter
    05:22
  • Test Pyramid and Test Driven Development
    03:50
  • Is over-engineering a solution to bad code? (spoiler: it isn’t)
    03:02
  • Project
    02:03

Requirements

  • You have to know the basics of writing code (in a language like Java, or PHP, or Python or C#)

Description

This is a course about useful clean code principles.
My aim is to teach you concepts that you can use every time you write code.

The course has Java examples and I sometimes mention things like Spring and Lombok.
The same clean code principles apply also to PHP, C# and Python.

What can this course do for you?

It can save your company and yourself a lot of development time and therefore a lot of money.
How?
Bad code practices can make development very slow on your medium and big projects.
This means a lot of money wasted on development time.
This type of projects are also remarkably unpleasant to work on.
This course helps you avoid this by using clean code principles.

The course is structured in 4 parts:

1. Introduction - where we discuss what is clean code and why it's important

2. Small Functions - I gave small functions an entire section because I think its one of the most important principles of clean code, together with small classes, Single Responsibility Principle and Not crossing Different Levels of Abstraction.

3. Clean code: Fundamental Principles - I discuss here about fundamental things like method and variables names, parameters, comments and exceptions

4. Clean code: Advanced Principles - Here I talk about more abstract topics like the difference between an OOP Object and a Data Structure Object, Composition over Inheritance, Symptoms of Bad Code, State, Low Coupling - High Cohesion, Command and Query Separation, Tell Don't Ask, The Law of Demeter and more.

The course also contains some memes because you can't spell clean code without fun.

I tried to focus on things you can use every day when programming and stay away from barren theory.
There's no point wasting our time with useless knowledge that would just seem like it's helping you as a programmer, but that you will forget in 2 weeks.
If that would have been the point, this would be a 10 hours course about programming patterns.
But it isn't.

I tried to make the course full of useful information but not too long.
If you invest as little as two hours of your life in this course, about the time you would spend watching a movie, you will become a much better developer.

Who this course is for:

  • Starter developers that want to learn clean code to write maintainable applications
  • Intermediate developers that want to improve their clean code skills
  • Senior developers that want to fine tune their clean code mastery and like programming principles

Instructor

Liviu Oprisan
Developer
Liviu Oprisan
  • 4.1 Instructor Rating
  • 153 Reviews
  • 28,487 Students
  • 4 Courses

I've been a programmer for thirteen years.
I have 10 years of PHP experience, 2 years of Java and C#, a year of Python, and nobody is safe from JavaScript.

I am a big enthusiast of Clean Code.

I'm also a big fan of SCRUM and how you can build motivated, happy teams around it.

I've worked on a lot of kind of projects.
From small to medium projects where I was the only developer to medium and big projects in teams of 30+ people.

Besides being a developer, on some projects I've also have the Scrum Master role, or led the process of applying Scrum inside the team.

I am currently writing mostly Java, and have certifications in PHP and Scrum.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.