The Joy of Linters: Good Engineering Practices & Productivity Boosters - Artur Kondas

Discover the benefits of using linters for good engineering practices and productivity boosters, including ensuring code quality, readability, and security, and how to configure them for your team.

Key takeaways
  • Linters are a tool for good engineering practices and productivity boosters: They help ensure code quality, readability, and security.
  • Soft fails are a myth: Linters should not be used to tolerate bad code, but to improve it.
  • Configure linters for your team: Set up linters with a README file to explain what they do and how to use them.
  • Start with the basics: Begin with simple linters and gradually add more complex ones.
  • Use linters to enforce coding standards: Linters can be used to enforce coding standards, such as maximum line length and indentation.
  • Linters can improve code quality: Linters can detect and fix errors, improve code readability, and enhance security.
  • Communicate with your team: Explain the benefits and how to use linters to your team.
  • Custom linters are easy to create: Use existing packages like go-parser and go-ast to create custom linters.
  • Golang CI lint is a powerful tool: Use Golang CI lint to specify linters, configure them, and run them in your CI/CD pipeline.
  • Linters can be used to improve developer experience: Linters can improve code quality, making it easier for developers to work with.
  • Linting is not a one-time task: Linters should be run regularly to ensure code quality and catch errors.
  • Maximum pain theory is a reality: Linters can be painful to set up and use, but the benefits outweigh the costs.
  • Soft linters are not enough: Soft linters that tolerate bad code are not effective and can lead to bad code quality.
  • Golang CI lint has a lot of customization options: Use Golang CI lint to specify linters, configure them, and run them in your CI/CD pipeline.
  • Linters can improve code security: Linters can detect and fix security vulnerabilities in code.