|
1 |
| -# Clean-Code-in-Python |
2 |
| -Clean Code in Python, published by Packt |
| 1 | +# Clean Code in Python |
| 2 | + |
| 3 | +<a href="https://www.packtpub.com/application-development/clean-code-python?utm_source=github&utm_medium=repository&utm_campaign=9781788835831 "><img src="https://d255esdrn735hr.cloudfront.net/sites/default/files/imagecache/ppv4_main_book_cover/B09608_MockupCoverNew.png" alt="Clean Code in Python" height="256px" align="right"></a> |
| 4 | + |
| 5 | +This is the code repository for [Clean Code in Python](https://www.packtpub.com/application-development/clean-code-python?utm_source=github&utm_medium=repository&utm_campaign=9781788835831 ), published by Packt. |
| 6 | + |
| 7 | +**Refactor your legacy code base** |
| 8 | + |
| 9 | +## What is this book about? |
| 10 | +Python is currently used in many different areas such as software construction, systems administration, and data processing. In all of these areas, experienced professionals can find examples of inefficiency, problems, and other perils, as a result of bad code. After reading this book, readers will understand these problems, and more importantly, how to correct them. |
| 11 | + |
| 12 | +This book covers the following exciting features: |
| 13 | +Set up tools to effectively work in a development environment |
| 14 | +Explore how the magic methods of Python can help us write better code |
| 15 | +Examine the traits of Python to create advanced object-oriented design |
| 16 | +Understand removal of duplicated code using decorators and descriptors |
| 17 | +Effectively refactor code with the help of unit tests |
| 18 | +Learn to implement the SOLID principles in Python |
| 19 | + |
| 20 | +If you feel this book is for you, get your [copy](https://www.amazon.com/dp/1788835832) today! |
| 21 | + |
| 22 | +<a href="https://www.packtpub.com/?utm_source=github&utm_medium=banner&utm_campaign=GitHubBanner"><img src="https://raw.githubusercontent.com/PacktPublishing/GitHub/master/GitHub.png" |
| 23 | +alt="https://www.packtpub.com/" border="5" /></a> |
| 24 | + |
| 25 | +## Instructions and Navigations |
| 26 | +Create a virtual environment, and once activated run the following command: |
| 27 | + |
| 28 | +make setup |
| 29 | + |
| 30 | +This will install the common dependencies. Besides this, each chapter might have additional ones, for which another make setup will have to be run inside that particular directory. Each chapter has its corresponding directory given by its number. |
| 31 | + |
| 32 | +Inside each chapter directory, tests can be run as: |
| 33 | + |
| 34 | +make test |
| 35 | + |
| 36 | +This requires the make application installed (in Unix environments). In environments without access to the make command, the same code can be tested by running the commands on the Makefile: |
| 37 | + |
| 38 | +python -m doctest *.py |
| 39 | +python -m unittest *.py |
| 40 | + |
| 41 | +All of the code is organized into folders. For example, Chapter02. |
| 42 | + |
| 43 | +The code will look like the following: |
| 44 | +``` |
| 45 | +class Point: |
| 46 | + def __init__(self, lat, long): |
| 47 | + self.lat = lat |
| 48 | + self.long = long |
| 49 | +``` |
| 50 | + |
| 51 | +**Following is what you need for this book:** |
| 52 | +This book will appeal to team leads, software architects and senior software engineers who would like to work on their legacy systems to save cost and improve efficiency. A strong understanding of Programming is assumed. |
| 53 | + |
| 54 | +With the following software and hardware list you can run all code files present in the book (Chapter 1-). |
| 55 | +### Software and Hardware List |
| 56 | +| Chapter | Software required | Hardware required | |
| 57 | +| -------- | ------------------------------------ | ----------------------------------- | |
| 58 | +|1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |Python 3.7 |System with 4GB RAM | |
| 59 | +|10 |Docker |System with 4GB RAM | |
| 60 | + |
| 61 | +We also provide a PDF file that has color images of the screenshots/diagrams used in this book. [Click here to download it](). |
| 62 | + |
| 63 | +### Related products |
| 64 | +* Secret Recipes of the Python Ninja [[Packt]](https://www.packtpub.com/application-development/secret-recipes-python-ninja?utm_source=github&utm_medium=repository&utm_campaign=9781788294874 ) [[Amazon]](https://www.amazon.com/dp/1788294874) |
| 65 | + |
| 66 | +* Python Programming Blueprints [[Packt]](https://www.packtpub.com/application-development/python-programming-blueprints?utm_source=github&utm_medium=repository&utm_campaign=9781786468161 ) [[Amazon]](https://www.amazon.com/dp/1786468166) |
| 67 | + |
| 68 | +* [[Packt]]() [[Amazon]](https://www.amazon.com/dp/) |
| 69 | + |
| 70 | +* [[Packt]]() [[Amazon]](https://www.amazon.com/dp/) |
| 71 | + |
| 72 | +## Get to Know the Author |
| 73 | +**Mariano Anaya** |
| 74 | +is a software engineer who spends most of his time creating software with Python and mentoring fellow programmers. Mariano's main areas of interests besides Python are software architecture, functional programming, distributed systems, and speaking at conferences. |
| 75 | + |
| 76 | +He was a speaker at Euro Python 2016 and 2017. To know more about him, you can refer to his GitHub account with the username rmariano. |
| 77 | + |
| 78 | +His speakerdeck username is rmariano. |
| 79 | + |
| 80 | + |
| 81 | +### Suggestions and Feedback |
| 82 | +[Click here](https://docs.google.com/forms/d/e/1FAIpQLSdy7dATC6QmEL81FIUuymZ0Wy9vH1jHkvpY57OiMeKGqib_Ow/viewform) if you have any feedback or suggestions. |
| 83 | + |
| 84 | + |
0 commit comments