From b9423ff9f482257ac1def15313ee9f24733d7fd7 Mon Sep 17 00:00:00 2001 From: "dumitru.deveatii" Date: Sat, 26 Jan 2019 10:52:23 +0200 Subject: [PATCH] Added introduction. --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fd3f8f2..bf4f571 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,47 @@ -# typescript-clean-code -typescript-clean-code +# clean-code-typescript + +Clean Code concepts adapted for TypeScript. +Inspired from [clean-code-javascript](https://github.com/ryanmcdermott/clean-code-javascript) + +## Table of Contents + 1. [Introduction](#introduction) + 2. [Variables](#variables) + 3. [Functions](#functions) + 4. [Objects and Data Structures](#objects-and-data-structures) + 5. [Classes](#classes) + 6. [SOLID](#solid) + 7. [Testing](#testing) + 8. [Concurrency](#concurrency) + 9. [Error Handling](#error-handling) + 10. [Formatting](#formatting) + 11. [Comments](#comments) + 12. [Translation](#translation) + +## Introduction +![Humorous image of software quality estimation as a count of how many expletives +you shout when reading code](http://www.osnews.com/images/comics/wtfm.jpg) + +Software engineering principles, from Robert C. Martin's book +[*Clean Code*](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882), +adapted for TypeScript. This is not a style guide. It's a guide to producing +[readable, reusable, and refactorable](https://github.com/ryanmcdermott/3rs-of-software-architecture) software in TypeScript. + +Not every principle herein has to be strictly followed, and even fewer will be +universally agreed upon. These are guidelines and nothing more, but they are +ones codified over many years of collective experience by the authors of +*Clean Code*. + +Our craft of software engineering is just a bit over 50 years old, and we are +still learning a lot. When software architecture is as old as architecture +itself, maybe then we will have harder rules to follow. For now, let these +guidelines serve as a touchstone by which to assess the quality of the +JavaScript code that you and your team produce. + +One more thing: knowing these won't immediately make you a better software +developer, and working with them for many years doesn't mean you won't make +mistakes. Every piece of code starts as a first draft, like wet clay getting +shaped into its final form. Finally, we chisel away the imperfections when +we review it with our peers. Don't beat yourself up for first drafts that need +improvement. Beat up the code instead! + +**[⬆ back to top](#table-of-contents)** \ No newline at end of file