Git Product home page Git Product logo

arif18bari / clean-code Goto Github PK

View Code? Open in Web Editor NEW

This project forked from in28minutes/clean-code

0.0 0.0 0.0 5.91 MB

Learn to Write Clean Code with Java. Get Hands-on with 20+ Code Examples involving 4 principles of Simple Design, Refactoring and TDD.

Home Page: https://www.udemy.com/course/java-clean-code-with-refactoring-and-tdd/?referralCode=201A00544D2D754A688F

JavaScript 44.14% Java 10.98% CSS 22.88% HTML 12.25% SCSS 9.76%

clean-code's Introduction

Clean Code with Java: Learn Simple Design, Refactoring & TDD

Learn to Write Clean Code with Java. Get Hands-on with Code Examples involving 4 principles of Simple Design, Refactoring & TDD.

  • Step I : Understand Clarity of Code (Unit Tests)
  • Step II: Focus on 4 Principles of Simple Design
  • Step III: Get started with Refactoring
  • Step IV : Understand TDD

Exercises

GildedRose

  • Goal
    • Understand Clarity of Code
    • Give importance to Unit Testing
  • GildedRoseADefaultItemTest.java
  • GildedRoseBAgedBrieTest.java
  • GildedRoseCBackstagePassesTest.java
  • More details - Gilded Rose Exercises

4 Principles of Simple Design

  • Refactor Code
    • StudentHelper.isGradeB()
    • StudentHelper.getGrade()
    • StudentHelper.willQualifyForQuiz()
  • Write Code
    • TextHelper.swapLastTwoCharacters()
    • TextHelper.truncateAInFirst2Positions()
  • Refactor Unit Test
    • CustomerBOTest

Refactoring

  • CustomerBOImpl.getCustomerProductsSum(List<Product>)
  • Movie.isValidRating()
  • MenuAccess.setAuthorizationsInEachMenus(List<MenuItem>, Role[])
  • UserLoginChecker.isUserAllowedToLogin(long, String, boolean, User, List)

Try on Your Own (With Solutions)

  • UserLoginCheckerTest
  • MenuAccessTest

TDD

  • More details - TDD Exercises
  • Truncate A in first 2 positions of a String
  • Check if first two and last two characters in the string are the same.
  • Bowling Kata

Step By Step Details

Getting Started with Clarity in Code

  • Clean Code with Simple Design, Refactoring and TDD - Getting Setup
  • Step 00 - Clarity in Code - Problem 1 - Gilded Rose - Introduction
  • Step 01 - Clarity in Code - Problem 1 - Gilded Rose - Refactoring Unit Test 1 - Default Item
  • Step 02 - Clarity in Code - Problem 1 - Gilded Rose - Refactoring Unit Test 2 - Default Item
  • Step 03 - Clarity in Code - Problem 1 - Gilded Rose - Refactoring Unit Test 3 - Aged Brie
  • Step 04 - Clarity in Code - Problem 1 - Gilded Rose - Refactoring Unit Test 4 - Backstage Passes
  • Step 05 - Clean Code - Attitude for the course

Getting Started with 4 Principles of Simple Design

  • Step 01 - 4 Principles of Simple Design - An Introduction
  • Step 02 - 4 Principles of Simple Design - Exercise - StudentHelper.isGradeB
  • Step 03 - 4 Principles of Simple Design - Exercise - StudentHelper.getGrade
  • Step 04 - 4 Principles of Simple Design - Exercise - StudentHelper.willQualifyForQuiz
  • Step 06 - Most difficult challenge in programming - Naming
  • Step 07 - 4 Principles of Simple Design - Exercise - TextHelper.swapLastTwoCharacters
  • Step 07 - Should you have comments in code?
  • Step 08 - 4 Principles of Simple Design - Exercise - TextHelper.truncateAInFirst2Positions
  • Step 09 - 4 Principles of Simple Design - Exercise - CustomerBOTest
  • Step 10 - 4 Principles of Simple Design - Exercise - CustomerBOTest
  • Step 11 - Attitude towards Unit Testing
  • Step 12 - Unit Testing Principles

Getting Started with Refactoring

  • Step 01 - Introduction to Refactoring
  • Step 02 - Refactoring - Exercise - CustomerBOImpl.getCustomerProductsSum
  • Step 03 - Refactoring - Exercise - Movie.isValidRating
  • Step 04 - Refactoring - Exercise - MenuAccess.setAuthorizationsInEachMenus
  • Step 05 - Refactoring - Exercise - UserLoginChecker.isUserAllowedToLogin - 1
  • Step 06 - Refactoring - Exercise - UserLoginChecker.isUserAllowedToLogin - 2
  • Step 07 - My 10 Tips for Good Programmers

Getting Started with Test Driven Development

  • Step 01 - Introduction to Test Driven Development - TDD
  • Step 02 - Test Driven Development - TDD - Exercise - StringHelper.replaceAInFirst2Positions
  • Step 03 - Test Driven Development - TDD - Exercise - StringHelper.replaceAInFirst2Positions
  • Step 04 - Test Driven Development - TDD - Exercise - StringHelper.areFirstTwoAndLastTwoCharsTheSame
  • Step 05 - Test Driven Development - TDD - Exercise - Bowling Kata - Introduction
  • Step 06 - Test Driven Development - TDD - Exercise - Bowling Kata - Getting Started
  • Step 07 - Test Driven Development - TDD - Exercise - Bowling Kata - Spare
  • Step 08 - Test Driven Development - TDD - Exercise - Bowling Kata - Strike
  • Step 09 - 3 Tips for Test Driven Development - TDD

Thank You

  • Clean Code with Simple Design, Refactoring and TDD - Thank You

clean-code's People

Contributors

in28minutes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.