#100DaysOfCode in Python Transcripts
Chapter: Days 34-36: Refactoring / Pythonic code
Lecture: Refactoring 10: quality code best practices
Login or purchase this course to watch this video and the rest of the course contents.
0:00 Alright number 10, bonus, the last refactoring item. I'm just going to talk over some general coding best practices
0:08 because of course Pythonic code is important and pleasant to read but it's often also a matter of sticking to the best of role coding practices.
0:17 For example, make sure your units of code are short. Typically, a function or method should be around like 10, 15 lines max.
0:27 It can be very Pythonic but if you start to write functions of hundreds of lines of code, it's not good. It's not easy to maintain.
0:34 So this is your 10 guidelines to make your code more maintainable. Some other ones I want to highlight here, write code once duplication is a monster.
0:43 You really want to prevent having the same code defined in multiple places. Keep unit interfaces small, so that
0:50 means when you have functions the number of arguments to get if you keep that to a reasonable level, it's easier to maintain.
0:57 For example, if you have a function that takes 10 arguments, not easy to maintain. You could consider passing around a
1:04 class or refactoring to a class modules. Again, that's the part of name spaces of the Zen. It's good to have similar behaviors
1:13 or similar objects grouped together in files. To not have one file holding 10 classes, split those out in files, right?
1:21 Which makes it easier to reuse them in other programs. Testing of course, you want to automate your testing
1:28 that when you make changes you have this regression suite that you can just run in seconds and highlight if you introduced a new failure.
1:36 Which, if your system becomes more complex, might happen. This is an automatic way to catch that and keep the quality of your software high.
1:44 In day 10 you learned about pytest and how to write tests so that's really important here. There's also a lot of habit around this
1:51 so if you get into the habit of writing clean code, keeping to high standards, it means that when you go into your code base, you leave
1:59 the campground cleaner than you found it, right? I love the anology in the pragmatic programmer book about having a small crack in
2:09 a window if I remember correctly? Leaving that unattended leads to broken windows and the same is true for your code base.
2:17 If you let small bad habits creep in it might actually lead to a lot of damage in the long term. It's really about having good habits
2:25 around writing clean code, run the PEP8 checker on your codes, see if it's formatted properly, the right conventions are used, etc.