Companies Home Search Profile

Write clean code: 20 code smells and how to get rid of them

Focused View

Lauro Fialho Müller

5:58:53

18 View
  • 1. Introduction.mp4
    01:46
  • 1.1 [FINAL] Write better code 20 code smells and how to get rid of them.pdf
  • 1. Fundamentals of Good Software Design.mp4
    07:00
  • 2. Designing Deep Modules.mp4
    03:46
  • 3. SOLID Principles Single Responsibility Principle.mp4
    03:47
  • 4. SOLID Principles OpenClose Principle.mp4
    04:03
  • 5. SOLID Principles Liskov Substitution Principle.mp4
    03:48
  • 6. SOLID Principles Interface Segregation Principle.mp4
    03:42
  • 7. SOLID Principles Dependency Inversion Principle.mp4
    04:12
  • 1.1 code-smells.zip
  • 1. Navigating the Code Base.mp4
    04:16
  • 2. Note on the Code Smells.html
  • 1. Repeated Switches - Overview.mp4
    02:51
  • 2. Repeated Switches - Code Example.mp4
    03:09
  • 3. Repeated Switches - Solution Walkthrough.mp4
    27:50
  • 1. Primitive Obsession - Overview.mp4
    03:09
  • 2. Primitive Obsession - Code Example.mp4
    01:59
  • 3. Primitive Obsession - Solution Walkthrough.mp4
    11:09
  • 1. Loops - Overview.mp4
    02:43
  • 2. Loops - Code Example.mp4
    06:07
  • 3. Loops - Solution Walkthrough.mp4
    09:15
  • 1. Long Parameter List - Overview.mp4
    02:49
  • 2. Long Parameter List - Code Example.mp4
    02:21
  • 3. Long Parameter List - Solution Walkthrough.mp4
    15:06
  • 1. Knowledge Duplication - Overview.mp4
    03:35
  • 2. Knowledge Duplication - Code Example.mp4
    03:32
  • 3. Knowledge Duplication - Solution Walkthrough.mp4
    10:49
  • 1. Uninformative Comments - Overview.mp4
    03:49
  • 2. Uninformative Comments - Code Example.mp4
    03:11
  • 3. Uninformative Comments - Solution Walkthrough.mp4
    08:33
  • 1. Shotgun Surgery - Overview.mp4
    02:26
  • 2. Shotgun Surgery - Code Example.mp4
    08:08
  • 3. Shotgun Surgery - Solution Walkthrough.mp4
    15:08
  • 1. Alternative Classes with Different Interfaces - Overview.mp4
    02:05
  • 2. Alternative Classes with Different Interfaces - Code Example.mp4
    01:52
  • 3. Alternative Classes with Different Interfaces - Solution Walkthrough.mp4
    03:14
  • 1. Refused Bequest - Overview.mp4
    04:03
  • 2. Refused Bequest - Code Example.mp4
    04:47
  • 3. Refused Bequest - Solution Walkthrough.mp4
    09:53
  • 1. Data Clumps - Overview.mp4
    01:39
  • 2. Data Clumps - Code Example.mp4
    01:26
  • 3. Data Clumps - Solution Walkthrough.mp4
    07:29
  • 1. Middle-Man - Overview.mp4
    03:02
  • 2. Middle-Man - Code Example.mp4
    02:09
  • 3. Middle-Man - Solution Walkthrough.mp4
    03:31
  • 1. Mutable Data - Overview.mp4
    03:56
  • 2. Mutable Data - Code Example.mp4
    02:55
  • 3. Mutable Data - Solution Walkthrough.mp4
    04:45
  • 1. Feature Envy - Overview.mp4
    02:28
  • 2. Feature Envy - Code Example.mp4
    03:53
  • 3. Feature Envy - Solution Walkthrough.mp4
    14:05
  • 1. Divergent Change - Overview.mp4
    01:44
  • 2. Divergent Change - Code Example.mp4
    01:55
  • 3. Divergent Change - Solution Walkthrough.mp4
    03:56
  • 1. Large Interfaces - Overview.mp4
    04:17
  • 2. Large Interfaces - Code Example.mp4
    04:24
  • 3. Large Interfaces - Solution Walkthrough.mp4
    08:24
  • 1. Multitaskers - Overview.mp4
    03:15
  • 2. Multitaskers - Code Example.mp4
    01:18
  • 3. Multitaskers - Solution Walkthrough.mp4
    05:40
  • 1. Unclear Names - Overview.mp4
    02:41
  • 2. Unclear Names - Code Example.mp4
    03:03
  • 3. Unclear Names - Solution Walkthrough.mp4
    04:22
  • 1. Speculative Generality - Overview.mp4
    02:04
  • 2. Speculative Generality - Code Example.mp4
    06:47
  • 3. Speculative Generality - Solution Walkthrough.mp4
    13:41
  • 1. Unnecessary Exceptions - Overview.mp4
    05:12
  • 2. Unnecessary Exceptions - Code Example.mp4
    02:38
  • 3. Unnecessary Exceptions - Solution Walkthrough.mp4
    04:06
  • 1. Shallow Modules - Overview.mp4
    02:52
  • 2. Shallow Modules - Code Example.mp4
    05:14
  • 3. Shallow Modules - Solution Walkthrough.mp4
    09:30
  • 1. Congratulations and thank you!.mp4
    00:39
  • Description


    Improve your software design skills by learning 20 common code anti-patterns and techniques to eliminate them!

    What You'll Learn?


    • Apply the fundamental principles of good software design: Encapsulation, abstraction, polymorphism, among others.
    • Understand the SOLID principles of software engineering and how to use them to design better code
    • Acquire practical skills to improve the quality and the design of
    • Learn how to fix the most common pitfalls of Object Oriented Programming
    • Learn how to design highly maintainable, extensible, and easy-to-change code

    Who is this for?


  • Software developers aiming at expanding their knowledge on SOLID principles and good software design practices
  • Everyone who is curious about the principles and practices of designing solid systems
  • Software developers and engineers who want to bring their coding skills to the next level by learning how to develop clean, maintainable systems
  • What You Need to Know?


  • Familiarity with JavaScript and TypeScript (or any other major programming language) is recommended to better follow the code examples.
  • Familiarity with Git.
  • More details


    Description

    BRING YOUR SOFTWARE DEVELOPMENT SKILLS TO THE NEXT LEVEL!

    • Learn the SOLID principles and how they can improve the design of your code

    • Learn 20 code smells and anti-patterns against best software design practices

    • Learn how to write code that is easy to maintain, extend, and change

    • Explore practical examples in a variety of applications

    • Benefit from deep dives and detailed discussions around best practices in the software engineering industry

    A STEP-BY-STEP COURSE, FOR BEGINNERS AND ADVANCED DEVELOPERS:

    This course is thought for both those who are starting their software development carriers and want to learn how to design SOLID code from the start, as well as for those who are in the industry for several years and want to improve their coding!

    • 6 hours of high-quality, straight-to-the-point videos

    • Self-paced course: take as much time as you need to complete the course

    • Lifetime access: access does not expire. Ever!

    • 30-day money-back guarantee: try the course without risks. No questions asked

    • Certificate of completion: receive a solid proof of completion and differentiate yourself

    WHY THIS COURSE?

    • Focus on the fundamental principles of software design: Information Hiding, Encapsulation, Abstraction, and Polymorphism.

    • Detailed and easy to follow discussion on 5 SOLID principles: Single Responsibility principle, Open-Close principle, Liskov Substitution principle, Interface Segregation principle, and Dependency Inversion principle.

    • 20 code smells distilled and thoroughly explained: learn many different ways we can fix our code, making it more robust and easier to work with.

    At the end of this course, you will have acquired not only knowledge about the principles of great software development, but also practical insight into how to reason about the design of your system and how to improve it.


    WHY LEARN SOLID PRINCIPLES AND CODE SMELLS?

    Excelling in software development goes far beyond writing code. The code we write must not only achieve its intended functionality, but it must also be easy to maintain, extend, and change. When our code is not well designed, it starts to show several symptoms called code smells. It is crucial to be fully aware of them to immediately address the underlying causes when we come across bad code.

    To develop this awareness, this course discusses the most important principles for designing and developing systems that comply with programming best practices. The contents are based on my learnings from multiple years of coding experience, as well as on several books and resources from seasoned developers in the industry.

    I’m looking forward to taking this journey with you!


    Course thumbnail credits: macrovector - freepik

    Who this course is for:

    • Software developers aiming at expanding their knowledge on SOLID principles and good software design practices
    • Everyone who is curious about the principles and practices of designing solid systems
    • Software developers and engineers who want to bring their coding skills to the next level by learning how to develop clean, maintainable systems

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Lauro Fialho Müller
    Lauro Fialho Müller
    Instructor's Courses
    Lauro is an experienced software developer with focus on full-stack technologies and a wide range of knowledge in multiple programming languages. He currently works as a Senior IT consultant at Thoughtworks, and his primary interests are Cloud Computing, Systems Design, and Clean Code. He is always looking forward to sharing his knowledge with the community and contributing to the personal and professional development of all programmers.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 70
    • duration 5:58:53
    • English subtitles has
    • Release Date 2024/05/14