DEV Community

Charles Szilagyi
Charles Szilagyi

Posted on

I've published a collection of best practices for web application developers

Are you looking to level-up your skills and create applications faster, with fewer bugs, in a maintainable way? I think you'd appreciate this new best practices document available on GitBook. It's written for small to medium-sized teams working on non-trivial, long-life enterprise applications using TypeScript or JavaScript.

Pragmatic recommendations based on clean coding principles for teams working on TypeScript/JavaScript web application.

I firmly believe that successful teams have a robust, detailed set of best-practices from the very beginning. Making things up as we go is not enough. Figuring out the answers to problems as they happen is wasteful and reactive. A solid baseline, on the other hand, provides confidence and productivity to the team.

You only want to worry about problems that are truly unique to you and your product. I think one way to do that is to pick up an off the shelf reference and adapt it to your situation.

The recommendations are all based on real-life experience: these are the ones that worked well in multiple projects, with diverse teams and products. The ideas themselves are not new; what I've tried to do is to present them pragmatically, in the context of modern enterprise web app development.

Topics include:

  • Principles
  • Architecture
  • Naming
  • TypeScript
  • Monorepo
  • Monolith
  • Versioning
  • Code formatting
  • Folder structure
  • Configuration
  • Logging
  • Testing: E2E, integration, unit tests
  • Using Git

and more

Hopefully, the synergy of the ideas leads you into the "Pit of Success": to be able to consistently deliver high-quality products, be productive and less frustrated in your day to day job.

You can read the GitBook at https://thekarel.gitbook.io/best-practices/

I have been working on this collection for some time and keep it up-to-date with the latest ideas, insights and remarks from the developer community. Please reach out if you have any comments: I'd appreciate your feedback. PRs are welcome on GitHub!

Top comments (0)