Code Reviews for Secure, Clean, and Scalable Code
- Descrição
- Currículo
- FAQ
- Revisões
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.
-
3Introduction to Code ReviewsVídeo Aula
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
-
4Basics of Code Review ProcessVídeo Aula
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
-
5Tools for Code Review and Code AnalysisVídeo Aula
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
-
6Important Note before the Next LessonTexto
-
7Overview of Pull Requests and Code Review Interface in GitHubVídeo Aula
What is PR and MR
Difference between PR and MR
Create PR
Add collaborator to the repository
Assignee VS Reviewer
Different merging strategies
-
8Important to read before the next lessonTexto
-
9Part 1 - Checkstyle: Adhering Coding StandardsVídeo Aula
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
-
10Part 2 - Checkstyle: Adhering Coding StandardsVídeo Aula
Using Checkstyle Plugin During Development
Integrating Checkstyle into a Sample Project
Generating Checkstyle Report with Maven Plugin
Analyzing Checkstyle Reports
-
11PMD: Static Code AnalysisVídeo Aula
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
-
12Code Review Guidelines & Contribution PolicyVídeo Aula
Establishing Code Review Guidelines and Expectations
Example of Code Review Guidelines
Contribution Policy
Code Review Guidelines VS Contribution Policy
Example of Contribution Policy
-
13Coding Standards, Code Quality & ConsistencyVídeo Aula
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
-
14Provide Feedback like a ProVídeo Aula
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
-
15Security Considerations During Code ReviewVídeo Aula
Importance of Security in Software Development
Common Security Vulnerabilities
Integrating Security Best Practices in Code Review Process
Security Scanners
-
16Scalability Principles in CodeVídeo Aula
Understanding Scalability in Software Development
Best Practices for Scalable Code
Identifying and Addressing Scalability Challenges
How to identify scalability challenges during code review
-
17Why this section is important for this course?Texto
-
18Single Responsibility Principle: User Registration and Authentication Refactoring ExerciseQuestionário
-
19Open / Closed Principle: Shape Refactoring ChallengeQuestionário
-
20Liskov Substitution Principle: Square and Rectangle Refactoring ChallengeQuestionário
-
21Interface Segregation Principle: Worker Refactoring ChallengeQuestionário
-
22Dependency Inversion Principle: Car-Engine Refactoring ChallengeQuestionário
-
23Why this section is important for this course?Texto
-
24Metric, KPI & OKRVídeo Aula
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
-
25RAG Status to Present KPITexto
What is RAG Status
RAG status to present KPI
Why we use RAG status for KPI
-
26Introduction to Engineering Excellence Metrics & KPIsVídeo Aula
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
-
27Development Metrics & KPIs: Tech Debt Ratio & Index, Cyclomatic ComplexityVídeo Aula
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
-
28Development Metrics & KPIs: Unit Test Related Metrics - Part 1Vídeo Aula
Unit Testing
How Unit Tests Work
Benefits of Unit Tests
Challenges and Limitations of Unit Tests
Unit Test Run Success Rate
-
29Development Metrics & KPIs: Unit Test Related Metrics - Part 2Vídeo Aula
Unit Test Code Coverage
Incremental Unit Test Coverage
-
30Development Metrics & KPIs: Duplicate Code & Commented Code IndexVídeo Aula
Duplicate Code
Duplicated Lines
Duplicated Blocks
Duplicated Files
Density of Duplicated Lines
Commented Code Index
-
31Development Metrics & KPIs: Code Review Feedback Loop Time & Code ReviewsVídeo Aula
What is a Code Review
Code Review Feedback Loop Time
Code Reviews Amount
-
32Development Metrics & KPIs: Rules Compliance Index (RCI) & ViolationsVídeo Aula
Rules Compliance Index (RCI)
Violations
Differences between RCI and Violations
-
33Development Metrics & KPIs: Integration Test Coverage & End-to-End Test CoverageVídeo Aula
What is Integration Testing
What is End-to-End Testing
Integration VS End-to-End Testing
Integration Test Coverage
End-to-End Test Coverage
-
34Why this section is important for this course?Texto
-
35VCS and Git OverviewVídeo Aula
What are VCS
The most popular VCS overview
Git features overview
Git basic pricniples overview
Basics of Git interaction
-
36Git installationVídeo Aula
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
-
37Create Git repositoryVídeo Aula
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
-
38Ignoring and removing files from git trackingVídeo Aula
git ignore
git rm --cached
git rm -r --cached
git log
nano text editor
git log with file limits
git log --pretty=oneline
-
39Git undoing things and Vi text editorVídeo Aula
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
-
40Remote repository - Github, Bitbucket, GitLabVídeo Aula
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
-
41SSH connection to the remote repositoryVídeo Aula
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
-
42Git BranchingVídeo Aula
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
-
43Creating Pull RequestsVídeo Aula
What is PR and MR
Difference between PR and MR
Create PR
Add collaborator to the repository
Assignee VS Reviewer
Different merging strategies
-
44Updating local repositoryVídeo Aula
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
-
45Merge conflictsVídeo Aula
What is merge conflict
When merge conflicts happen
How to resolve merge conflicts
Merge conflicts during the git pull
-
46Git rebase and Force UpdateVídeo Aula
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
-
47Git rebase interactiveVídeo Aula
squash your commits
change commit message
any change in commit history requires force push
-
48Git resetVídeo Aula
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
-
49Git stashVídeo Aula
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
-
50Data recovery - Git reflogVídeo Aula
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
-
51Git cherry pickVídeo Aula
What is git cherry-pick
When to use cherry-pick
How to cherry-pick multiple commits
Resolve conflicts during the cherry-picking
Best practices
-
52Cloning remote repository: git cloneTexto
From this lesson you are going to learn how to use 'git clone' command to clone remote repository to your local computer.
-
53Git and Eclipse integrationVídeo Aula
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
