Project

Static Code Analyzer

Challenging
746 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

Roland Onderka avatar
Roland Onderka
1 month ago
Great project to understand advanced topics like abstract syntax trees.
Kevin Sibley avatar
Kevin Sibley
2 months ago
The coolest item that I learned was digging into ast - Abstract Syntax Trees and how it breaks down python code into bytecode for execution.
Przemyslaw Gorski
4 months ago
The final stage was a real challenge. The "ast" module is powerful, but it took me a long time to understand and discover all the features. This was a very good project for me because I'm trying to learn and use as much OOP as possible and it was a great opportunity to practice.

4.4

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