Agile Software Development: Code Quality
1h 41mIntermediate2019-03-28
Authors

M. Scott Ford
Software Remodeler, Polyglot Developer
Course details
Code quality is important to every developer. Poorly written software can cost you customers, time, and money. This course introduces best practices and tools for writing high-quality code, so you can deliver better products, get updates to market faster, and reduce your overall technical debt. Instructor Scott Ford introduces platform-agnostic tools that will help improve any software project. Learn how to reduce complexity with CodeClimate, analyze hotspots and churn with CodeScene, ensure adequate code coverage with NDepend, and reduce duplication with SonarQube. Plus, find out how to use Snyk to secure dependencies and build a more consistent coding style with HoundCI. By the end, you’ll have the tools and skills you need to create cleaner code—and programs that are easier to debug, run, and maintain.
Learning objectives
Code quality metrics and tools
Exploring code complexity
Adjusting complexity thresholds
Analyzing hotspots and churn
Visualizing code coverage
Finding duplication
Securing dependencies
Maintaining a consistent coding style
Learning objectives
Code quality metrics and tools
Exploring code complexity
Adjusting complexity thresholds
Analyzing hotspots and churn
Visualizing code coverage
Finding duplication
Securing dependencies
Maintaining a consistent coding style
Skills covered
SonarQubeAgile Software DevelopmentIntroduction toDevOps
Concepts
0. Introduction
- 01 - Why code quality is important
- 02 - What you should know
1. Code Quality
- 03 - What is code quality
- 04 - How do we end up with poor quality code
- 05 - Review of code quality metrics and tools
2. Complexity
- 06 - What is complexity
- 07 - Exploring complexity with Code Climate
- 08 - Enabling cyclomatic complexity
- 09 - Adjust thresholds
3. Hotspots and Churn
- 10 - What are hotspots and churn
- 11 - Hotspots and churn with CodeScene
- 12 - Customizing analysis with CodeScene
4. Code Coverage
- 13 - What is code coverage
- 14 - Windows setup
- 15 - Collecting code coverage with dotCover
- 16 - Visualizing code coverage with NDepend
- 17 - macOS X setup
- 18 - Collecting code coverage with SimpleCov
- 19 - Visualizing code coverage with Code Climate
5. Duplication
- 20 - What is duplication
- 21 - Setting up copy paste detectors (CPD)
- 22 - Finding duplication with CPD
- 23 - Visualizing duplication with SonarQube
6. Securing Your Dependencies
- 24 - Why secure dependencies
- 25 - Setting up Snyk
- 26 - Securing your dependencies with Snyk CLI
- 27 - Securing your dependencies with Snyk web
7. Consistent Coding Style
- 28 - Why consistent coding style
- 29 - Setting up Flask
- 30 - Detect style violations with Flake8
- 31 - Automated code style review with Hound CI
Conclusion
- 32 - Next steps
Related courses
- Software Engineering Principles by Pearson
- Agile Software Development: Dealing with Legacy Code and Technical Debt
- Agile Software Development: Remote Teams
- Build with AI: Beyond Pair Programming with AI
- Agile Software Development: Refactoring
- AI-Powered Software Development: Coding, Testing, and System Design
- Agile Software Development: Extreme Programming
- Introduction to Agile Development Practices: Bring Agile to Your Development Pipelines
Related learn paths
- Develop Your Skills in Agile Software Development
- Getting Started with Agile Software Development
- Succeed as a Remote Software Developer
- Software Development Fundamentals
- Technical Program Management
- Getting Started with Software Testing
- Develop Your Skills as a Software Project Manager
- Getting Started in Test Automation Engineering