Project

Static Code Analyzer

Challenging
783 completions
~ 29 hours
4.4

After completing this project, you will have a good understanding of how static source code analyzers work. You will also get more experience with object-oriented programming, regular expressions, and file processing. You will practice using the abstract syntax tree, and, last but not least, learn more about the rules of Python code style.

Provided by

JetBrains Academy JetBrains Academy

About

In this project, you will create a simple static analyzer tool that finds common stylistic issues in Python code. You will get a general idea of static code analysis and expand your competence in Python.

Graduate project icon

Graduate project

This project covers the core topics of the Python Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Add checks for proper use of indentation, semicolons, spaces before comments, TODOs, and blank lines.
Learn how to work with multiple files and directories and process command-line arguments.
Use regular expressions to check proper naming.
Use the Abstract Syntax Tree to polish your program. Your own tool for analyzing code style issues is ready to use!

Reviews

Zaitsev Viacheslav avatar
Zaitsev Viacheslav
1 week ago
This project helped me improve my skills in working with Abstract Syntax Trees and regular expressions. Thanks to it, concepts that initially seemed complex became clear and simple. This is probably the most challenging project in the course.
Mykola Chubuchnyi
5 months ago
This project improved my understanding of Python code style rules and AST package.
Ole Sendzik avatar
Ole Sendzik
6 months ago
Test fixture contaminationStatic Code Analyzer/task/test/this_stage had extra files that should not have been there for the active stage:At one point: test_1.py to test_6.py were present, causing Expected 6, found 28. ...

4.4

Learners who completed this project within the Python Developer course rated it as follows:
Usefulness
4.6
Fun
4.2
Clarity
4.3