DEV Community

Patrik Barsi
Patrik Barsi

Posted on

My new thesis - Go Linter in Rust

Thesis Project Idea

Hello everyone, I am in the last year of my Bachelor's Degree in Software Engineering, which means I need to complete a thesis to officially finish.

I wanted to do something challenging and outstanding. My initial idea was to implement a text/code editor in Rust. While that idea had potential—it’s easy to layer a text editor and add new features—I wanted to create something genuinely useful. Let's be real: no one would use my editor, which would essentially be a low-budget copy of Zed.

Final Idea

I decided to switch to creating a Go Linter implemented in Rust.

I know the Go community is strict, so implementing my own rules from scratch would make little sense. Then the perfect idea came to me:

  • Base the linting rules on the popular book "100 Go Mistakes and How to Avoid Them" by Teiva Harsanyi.
  • This book is widely accepted in the Go community as a reference for writing good Go code.

  • The linter can be layered.

  • I could write my own parser or use an existing one.

  • I might implement a domain-specific language (DSL) for defining linting rules, as my mentor is well-versed in DSLs.

These aspects are still open questions, but I’m really excited about this project. It could potentially be used by others—who knows, maybe it will become the Go equivalent of Ruff for Python.

Thanks for reading. Cya.

Top comments (0)