Hands-On Software Engineering with Python
上QQ阅读APP看书,第一时间看更新

Best practices

There are any number of standards and best practices that surround development, at least once the code base(s) involved gets above a certain level of complexity. They are considered as such because they solve (or prevent) various difficulties that will likely arise if they aren't followed. A fair number of them also focus, if indirectly, on some aspect of future-proofing code, at least from the perspective of trying to make it easier for a new developer (or the same developer, maybe years later) to understand what the code does, how to find specific chunks of code, or, perhaps, to extend or refactor it.

Those guidelines fall, roughly, into two categories, no matter the programming language:

  • Standards for code: Guidelines and concepts that focus on the structure and organization of code, though not necessarily on how that code functions – more on keeping it easily understood and navigable

  • Process standards: Guidelines and concepts that center around making sure that code is well behaved and that changes to it can be made with the minimum amount of hassle and disruption

Python adds two more items into that mix that don't quite fit into either of those language-agnostic categories; they are the results of capabilities and functional requirements in the context of Python specifically:

  • Package organization: How best to structure code at a file-system level; where and when to generate new module files and package directories

  • When and how to use Python virtual environments: What purposes they serve, and how best to leverage them for a given collection of code