Code Reviews for Secure, Clean, and Scalable Code
- Description
- Curriculum
- FAQ
- Reviews
Start a journey into the world of code reviews, where you’ll learn why it’s important to ensure your code is secure, clean, and scalable. This course will teach you how to conduct effective reviews that improve code quality and team collaboration. Explore different types of code reviews and understand the roles of reviewers and authors in the process.
Learn the basic principles and goals of code reviews, and discover strategies to develop a strong reviewer mindset. Through interactive exercises and simulations, you’ll practice evaluating code efficiently, giving helpful feedback, and communicating effectively during review sessions. Explore industry tools and automation that make code analysis easier and integrate smoothly into your development process.
Master the art of conducting fair, objective, and constructive code reviews by setting clear guidelines and expectations. Learn techniques for giving feedback that encourages improvement and fosters a supportive team environment. Gain insights into coding standards and best practices across various programming languages to ensure consistent code quality.
Discover how to create a positive code review culture that promotes trust, teamwork, and continuous improvement among team members. Engage in team-based review simulations to enhance collaborative skills and use coding exercises to identify scalability and security concerns. By the end of this course, you’ll be ready to lead effective code reviews and enhance software development within your organization. Join us to create secure, clean, and scalable code that drives innovation and excellence.
-
2Introduction to Code ReviewsVideo lesson
Overview of the Course Objectives
Importance of Secure, Clean, and Scalable Code
Importance of code reviews
Introduction to Effective Code Review
Impact on code quality and team collaboration
-
3Basics of Code Review ProcessVideo lesson
Basic principles of code review process
Goals of code review process
Different types of code reviews
Which type of code review to select
Understanding the role of code reviewer and author
Developing a Reviewer Mindset
Strategies for Efficient Code Review
-
4Tools for Code Review and Code AnalysisVideo lesson
Introduction to Code Review Tools
Using Automated Tools for Code Analysis
Integration of Tools into the Development Process
Best Practices for Secure and Scalable Code
-
5Important Note before the Next LessonText lesson
-
6Overview of Pull Requests and Code Review Interface in GitHubVideo lesson
What is PR and MR
Difference between PR and MR
Create PR
Add collaborator to the repository
Assignee VS Reviewer
Different merging strategies
-
7Important to read before the next lessonText lesson
-
8Part 1 - Checkstyle: Adhering Coding StandardsVideo lesson
Introduction to Checkstyle
Features for Checkstyle
Use cases
Purpose and Benefits of Using Checkstyle
Installation and Setup
Configuring Checkstyle Rules
Using Checkstyle Plugin During Development
Integrating Checkstyle into a Sample Project
Generating Checkstyle Report with Maven Plugin
Analyzing Checkstyle Reports
-
9Part 2 - Checkstyle: Adhering Coding StandardsVideo lesson
Using Checkstyle Plugin During Development
Integrating Checkstyle into a Sample Project
Generating Checkstyle Report with Maven Plugin
Analyzing Checkstyle Reports
-
10PMD: Static Code AnalysisVideo lesson
What is PMD
Features of PMD
Benefits of PMD
PMD Role in the Development Process
Install PMD into Eclipse IDE
Check code with PMD
Analyze PMD Report
Configure PMD Rules
Integrate PMD checks into build process
PMD Maven Plugin
-
11Code Review Guidelines & Contribution PolicyVideo lesson
Establishing Code Review Guidelines and Expectations
Example of Code Review Guidelines
Contribution Policy
Code Review Guidelines VS Contribution Policy
Example of Contribution Policy
-
12Coding Standards, Code Quality & ConsistencyVideo lesson
Overview of coding standards
Example of Coding Standards
Setting and Enforcing Coding Standards
Ensuring Code Quality and Consistency
Coding Standards for Different Programming Languages
Following Best Practices For Various Programming Languages
-
13Provide Feedback like a ProVideo lesson
Constructive Criticism Techniques (What, Why, How)
Effective Communication During Code Review Process
Providing Fair and Objective Feedback
Creating a Positive Code Review Culture
Building Trust Among Team Members
Collaborative Code Review Process
-
14Security Considerations During Code ReviewVideo lesson
Importance of Security in Software Development
Common Security Vulnerabilities
Integrating Security Best Practices in Code Review Process
Security Scanners
-
15Scalability Principles in CodeVideo lesson
Understanding Scalability in Software Development
Best Practices for Scalable Code
Identifying and Addressing Scalability Challenges
How to identify scalability challenges during code review
-
16Why this section is important for this course?Text lesson
-
17Single Responsibility Principle: User Registration and Authentication Refactoring ExerciseQuiz
-
18Open / Closed Principle: Shape Refactoring ChallengeQuiz
-
19Liskov Substitution Principle: Square and Rectangle Refactoring ChallengeQuiz
-
20Interface Segregation Principle: Worker Refactoring ChallengeQuiz
-
21Dependency Inversion Principle: Car-Engine Refactoring ChallengeQuiz
-
22Why this section is important for this course?Text lesson
-
23Metric, KPI & OKRVideo lesson
What is a metric
Examples of metrics
When to use metrics
What is a KPI
Examples of KPI
When to use KPI
Metric VS KPI
What is OKR
Examples of OKR
When to use OKR
KPI VS OKR
-
24RAG Status to Present KPIText lesson
What is RAG Status
RAG status to present KPI
Why we use RAG status for KPI
-
25Introduction to Engineering Excellence Metrics & KPIsVideo lesson
What we are going to learn in this section
Why this section is important
Overview of Engineering Excellence Metrics Library
Web Development related examples and use cases
-
26Development Metrics & KPIs: Tech Debt Ratio & Index, Cyclomatic ComplexityVideo lesson
Tech Debt Ratio
Tech Debt Index
Cyclomatic complexity.
Definition
Use cases
How to measure
How to read values and what do they mean
Recommended KPIs
Recommended Actions
-
27Development Metrics & KPIs: Unit Test Related Metrics - Part 1Video lesson
Unit Testing
How Unit Tests Work
Benefits of Unit Tests
Challenges and Limitations of Unit Tests
Unit Test Run Success Rate
-
28Development Metrics & KPIs: Unit Test Related Metrics - Part 2Video lesson
Unit Test Code Coverage
Incremental Unit Test Coverage
-
29Development Metrics & KPIs: Duplicate Code & Commented Code IndexVideo lesson
Duplicate Code
Duplicated Lines
Duplicated Blocks
Duplicated Files
Density of Duplicated Lines
Commented Code Index
-
30Development Metrics & KPIs: Code Review Feedback Loop Time & Code ReviewsVideo lesson
What is a Code Review
Code Review Feedback Loop Time
Code Reviews Amount
-
31Development Metrics & KPIs: Rules Compliance Index (RCI) & ViolationsVideo lesson
Rules Compliance Index (RCI)
Violations
Differences between RCI and Violations
-
32Development Metrics & KPIs: Integration Test Coverage & End-to-End Test CoverageVideo lesson
What is Integration Testing
What is End-to-End Testing
Integration VS End-to-End Testing
Integration Test Coverage
End-to-End Test Coverage
-
33Why this section is important for this course?Text lesson
-
34VCS and Git OverviewVideo lesson
What are VCS
The most popular VCS overview
Git features overview
Git basic pricniples overview
Basics of Git interaction
-
35Git installationVideo lesson
Where to download
How to install git
How to check that git installed
Basic git configurations
Git system, global and local configs.
Level of configurations
What is a git repository
-
36Create Git repositoryVideo lesson
Git help command
How to initialize local repo
What is a branch
Git add multiple files
Git add with mask
Git add all files
First commit
How to commit with adding to stage in one command
Git status command
git status -s
-
37Ignoring and removing files from git trackingVideo lesson
git ignore
git rm --cached
git rm -r --cached
git log
nano text editor
git log with file limits
git log --pretty=oneline
-
38Git undoing things and Vi text editorVideo lesson
How to amend last commit
Amend commit message only
Vi console text editor
git restore
Removing files from the staging area
Restoring original state of the file before changes
Autocomplete with tab
-
39Remote repository - Github, Bitbucket, GitLabVideo lesson
why do we need remote
overview of git repository hostings
GitHub sign up
Creating repository in the github
Checking remote repository
Connecting local repository with the remote repository
Setting upstream for the master branch
README.md
git clone
-
40SSH connection to the remote repositoryVideo lesson
What is SSH protocol
When we need to use SSH
SSH Keys
How to generate SSH keys
How to configure git repository
Known hosts
Changing remote repository
-
41Git BranchingVideo lesson
How commits are stored in git in a nutshell
What is a branch
What is a HEAD pointer
Create new branch
git log for the specific branch
git checkout
git switch
git branch
Switch branches
Detached HEAD state
Basic linux terminal commands (cd, touch, ls)
Push new branch to origin
-
42Creating Pull RequestsVideo lesson
What is PR and MR
Difference between PR and MR
Create PR
Add collaborator to the repository
Assignee VS Reviewer
Different merging strategies
-
43Updating local repositoryVideo lesson
Why do we need to update the local repository?
How often do we have to update the local repository?
Git fetch
git merge
What is fast forward
Git pull
mkdir command
Real-life scenario of team development and demo
-
44Merge conflictsVideo lesson
What is merge conflict
When merge conflicts happen
How to resolve merge conflicts
Merge conflicts during the git pull
-
45Git rebase and Force UpdateVideo lesson
new commit on merge from origin master
What is a rebase
pull with rebasing
Merge conflicts during the rebasing
git pull --rebase VS git rebase
git rebase --continue
rebase VS merging
git push -f
git push --force-with-lease
four rules of happy work with git
-
46Git rebase interactiveVideo lesson
squash your commits
change commit message
any change in commit history requires force push
-
47Git resetVideo lesson
What is git reset?
reset VS checkout
git reset few commits back
git reset --soft
git reset --mixed
git reset --hard
git reset to specific commit
git reset to head
git fetch --all and git reset origin branch
-
48Git stashVideo lesson
What is stash
When to use git stash
How to stash changes
How to manage multiple stashes
How to apply stash
Stash untracked files
How to apply specific change from stash
What is stack
git stash list
git stash pop VS git stash apply
git stash branch
git stash drop
git stash clear
-
49Data recovery - Git reflogVideo lesson
What is git reflog
When to use
How to restore lost commits
How to restore lost commits in the new branch
How to restore commit on the same branch
Filter reflog by time
-
50Git cherry pickVideo lesson
What is git cherry-pick
When to use cherry-pick
How to cherry-pick multiple commits
Resolve conflicts during the cherry-picking
Best practices
-
51Cloning remote repository: git cloneText lesson
From this lesson you are going to learn how to use 'git clone' command to clone remote repository to your local computer.
-
52Git and Eclipse integrationVideo lesson
Explore git views in Eclipse
How to add an existing git repository into eclipse
Git bash in eclipse
Review commit history in Eclipse
Branch navigation in eclipse
Creating a snapshot and pushing from eclipse
Configuring toolbar
Updating local repository from eclipse
Resolving conflicts in eclipse
External Links May Contain Affiliate Links read more