Magnolia's Blog

持续成长

Rome was not built in one day, coding will not advance vigorously with one effort.

有节制地使用from… import语句

  • 尽量优先使用import a形式,如访问B需要使用a.B的形式
  • 有节制的使用from a import B, 可以直接访问B
    • 无节制使用可能会导致:命名空间的冲突、循环嵌套导入
  • 最好不使用from a import * ,这会导致污染命名空间,且无法清楚得知导入了哪些对象

Python的import机制:在初始化环境的时候会预先加载一批内建模块到内存中,这些模块相关信息被存放在sys.modules中,可以通过sys.modules.items()查看。

加载一个模块时,解释器实际要做以下操作:

Read more »

Rome was not built in one day, coding will not advance vigorously with one effort.

编程语言都有其惯用法,了解掌握这些用法有助于帮助写出更加专业和精简的程序。

利用Assert发现问题

assert 主要是为调试使用,方便检查程序的异常和不恰当的值。

__debug__的值为True。

Read more »

1. 注释

  • 业务代码必须要写好注释。变量的命名也需要考虑规范,尽量和业务名相关,这样也算是一种注释,让人看得清楚。
  • 纯逻辑代码注明该块代码的作用是什么,入参、返回值的注释。一头(入参)、一尾(返回值)、一大概(功能),让他人拿到就能用,不用想怎么实现的,应用为先。

2. 代码抽取、封装

  • 使用两次及以上的代码块,即可考虑封装成函数,抽取复用的代码,提出入参为变量。
  • 涉及到对某个字段或者特定数据等进行多种操作时,考虑写成类的形式。
  • 某业务的操作涉及的数据和逻辑功能较多且复杂,考虑将业务操作和数据分离。

3. 业务相关

Read more »
0%