From 827d6649f57f4425298a5557d5aac7f3660e317f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Houpert?=
<10154151+lhoupert@users.noreply.github.com>
Date: Sat, 19 Mar 2022 13:02:55 +0000
Subject: [PATCH 1/4] Update README.md
---
README.md | 40 ++++++++++++++++++++++++++++------------
1 file changed, 28 insertions(+), 12 deletions(-)
diff --git a/README.md b/README.md
index e38ab24..a992050 100644
--- a/README.md
+++ b/README.md
@@ -4,18 +4,34 @@
[](https://www.python.org/download/releases/3.8.3/)
## Table of Contents
- 1. [Introduction](#introduction)
- 2. [Variables](#variables)
- 3. [Functions](#functions)
- 4. [Objects and Data Structures](#objects-and-data-structures)
- 5. [Classes](#classes)
- 1. [S: Single Responsibility Principle (SRP)](#single-responsibility-principle-srp)
- 2. [O: Open/Closed Principle (OCP)](#openclosed-principle-ocp)
- 3. [L: Liskov Substitution Principle (LSP)](#liskov-substitution-principle-lsp)
- 4. [I: Interface Segregation Principle (ISP)](#interface-segregation-principle-isp)
- 5. [D: Dependency Inversion Principle (DIP)](#dependency-inversion-principle-dip)
- 6. [Don't repeat yourself (DRY)](#dont-repeat-yourself-dry)
- 7. [Translation](#translation)
+- [Introduction](#introduction)
+- [**Variables**](#--variables--)
+ * [Use meaningful and pronounceable variable names](#use-meaningful-and-pronounceable-variable-names)
+ * [Use the same vocabulary for the same type of variable](#use-the-same-vocabulary-for-the-same-type-of-variable)
+ * [Use searchable names](#use-searchable-names)
+ * [Use explanatory variables](#use-explanatory-variables)
+ * [Avoid Mental Mapping](#avoid-mental-mapping)
+ * [Don't add unneeded context](#don-t-add-unneeded-context)
+ * [Use default arguments instead of short circuiting or conditionals](#use-default-arguments-instead-of-short-circuiting-or-conditionals)
+- [**Functions**](#--functions--)
+ * [Function arguments (2 or fewer ideally)](#function-arguments--2-or-fewer-ideally-)
+ * [Functions should do one thing](#functions-should-do-one-thing)
+ * [Function names should say what they do](#function-names-should-say-what-they-do)
+ * [Functions should only be one level of abstraction](#functions-should-only-be-one-level-of-abstraction)
+ * [Don't use flags as function parameters](#don-t-use-flags-as-function-parameters)
+ * [Avoid side effects](#avoid-side-effects)
+- [**Objects and Data Structures**](#--objects-and-data-structures--)
+- [**Classes**](#--classes--)
+ * [**Single Responsibility Principle (SRP)**](#--single-responsibility-principle--srp---)
+ * [**Open/Closed Principle (OCP)**](#--open-closed-principle--ocp---)
+ * [**Liskov Substitution Principle (LSP)**](#--liskov-substitution-principle--lsp---)
+ * [**Interface Segregation Principle (ISP)**](#--interface-segregation-principle--isp---)
+ * [**Dependency Inversion Principle (DIP)**](#--dependency-inversion-principle--dip---)
+- [**Don't repeat yourself (DRY)**](#--don-t-repeat-yourself--dry---)
+- [**Translations**](#--translations--)
+
+Table of contents generated with markdown-toc
+
## Introduction
From 06d8b3f55136168ad73e5f0dbc3adc62f0258117 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Houpert?=
<10154151+lhoupert@users.noreply.github.com>
Date: Sat, 19 Mar 2022 13:12:04 +0000
Subject: [PATCH 2/4] Update README.md
---
README.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index a992050..682dea2 100644
--- a/README.md
+++ b/README.md
@@ -11,14 +11,14 @@
* [Use searchable names](#use-searchable-names)
* [Use explanatory variables](#use-explanatory-variables)
* [Avoid Mental Mapping](#avoid-mental-mapping)
- * [Don't add unneeded context](#don-t-add-unneeded-context)
+ * [Do not add unneeded context](#do-not-add-unneeded-context)
* [Use default arguments instead of short circuiting or conditionals](#use-default-arguments-instead-of-short-circuiting-or-conditionals)
- [**Functions**](#--functions--)
* [Function arguments (2 or fewer ideally)](#function-arguments--2-or-fewer-ideally-)
* [Functions should do one thing](#functions-should-do-one-thing)
* [Function names should say what they do](#function-names-should-say-what-they-do)
* [Functions should only be one level of abstraction](#functions-should-only-be-one-level-of-abstraction)
- * [Don't use flags as function parameters](#don-t-use-flags-as-function-parameters)
+ * [Do not use flags as function parameters](#do-not-use-flags-as-function-parameters)
* [Avoid side effects](#avoid-side-effects)
- [**Objects and Data Structures**](#--objects-and-data-structures--)
- [**Classes**](#--classes--)
@@ -27,7 +27,7 @@
* [**Liskov Substitution Principle (LSP)**](#--liskov-substitution-principle--lsp---)
* [**Interface Segregation Principle (ISP)**](#--interface-segregation-principle--isp---)
* [**Dependency Inversion Principle (DIP)**](#--dependency-inversion-principle--dip---)
-- [**Don't repeat yourself (DRY)**](#--don-t-repeat-yourself--dry---)
+- [**Do not repeat yourself (DRY)**](#--do-not-repeat-yourself--dry---)
- [**Translations**](#--translations--)
Table of contents generated with markdown-toc
@@ -223,7 +223,7 @@ for location in locations:
**[⬆ back to top](#table-of-contents)**
-### Don't add unneeded context
+### Do not add unneeded context
If your class/object name tells you something, don't repeat that in your
variable name.
@@ -640,7 +640,7 @@ def parse(tokens: List) -> List:
**[⬆ back to top](#table-of-contents)**
-### Don't use flags as function parameters
+### Do not use flags as function parameters
Flags tell your user that this function does more than one thing. Functions
should do one thing. Split your functions if they are following different code
@@ -778,7 +778,7 @@ print(person.name_as_first_and_last) # => ["Ryan", "McDermott"]
**[⬆ back to top](#table-of-contents)**
-## **Don't repeat yourself (DRY)**
+## **Do not repeat yourself (DRY)**
Try to observe the [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) principle.
From f1ef00aa5ad7967e6dd358cc008c31819342b4df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Houpert?=
<10154151+lhoupert@users.noreply.github.com>
Date: Sat, 19 Mar 2022 13:15:33 +0000
Subject: [PATCH 3/4] Update README.md
---
README.md | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/README.md b/README.md
index 682dea2..4bfcc96 100644
--- a/README.md
+++ b/README.md
@@ -20,15 +20,15 @@
* [Functions should only be one level of abstraction](#functions-should-only-be-one-level-of-abstraction)
* [Do not use flags as function parameters](#do-not-use-flags-as-function-parameters)
* [Avoid side effects](#avoid-side-effects)
-- [**Objects and Data Structures**](#--objects-and-data-structures--)
-- [**Classes**](#--classes--)
- * [**Single Responsibility Principle (SRP)**](#--single-responsibility-principle--srp---)
- * [**Open/Closed Principle (OCP)**](#--open-closed-principle--ocp---)
- * [**Liskov Substitution Principle (LSP)**](#--liskov-substitution-principle--lsp---)
- * [**Interface Segregation Principle (ISP)**](#--interface-segregation-principle--isp---)
- * [**Dependency Inversion Principle (DIP)**](#--dependency-inversion-principle--dip---)
-- [**Do not repeat yourself (DRY)**](#--do-not-repeat-yourself--dry---)
-- [**Translations**](#--translations--)
+- [**Objects and Data Structures**](#objects-and-data-structures)
+- [**Classes**](#classes)
+ 1. [S: Single Responsibility Principle (SRP)](#single-responsibility-principle-srp)
+ 2. [O: Open/Closed Principle (OCP)](#openclosed-principle-ocp)
+ 3. [L: Liskov Substitution Principle (LSP)](#liskov-substitution-principle-lsp)
+ 4. [I: Interface Segregation Principle (ISP)](#interface-segregation-principle-isp)
+ 5. [D: Dependency Inversion Principle (DIP)](#dependency-inversion-principle-dip)
+- [**Don't repeat yourself (DRY)**](#dont-repeat-yourself-dry)
+- [**Translation**](#translation)
Table of contents generated with markdown-toc
From 5bf5b6b4a60562713b99980fed0a6b2b554dc469 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Houpert?=
<10154151+lhoupert@users.noreply.github.com>
Date: Sat, 19 Mar 2022 13:35:40 +0000
Subject: [PATCH 4/4] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 4bfcc96..c4cf1c5 100644
--- a/README.md
+++ b/README.md
@@ -774,6 +774,8 @@ print(person.name_as_first_and_last) # => ["Ryan", "McDermott"]
### **Interface Segregation Principle (ISP)**
### **Dependency Inversion Principle (DIP)**
+Read more about SOLID principles: [here](https://towardsdatascience.com/solid-coding-in-python-1281392a6a94)
+
*Coming soon*
**[⬆ back to top](#table-of-contents)**