Python 编程 盲区死角 注意事项 解决办法


随着近些年大数据、AI、AIoT、数字货币、等新技术 新理念的成熟,对 IT 算利、编程语言也提出了新要求。

多核 CPU、GPU 加速、高速内存、固态硬盘,对要求运行快、自动化程度高的应用程序而言,当然是有必要的。

Python 是一种编译型动态编程语言,调用时才会严格检查源代码问题 (结合 Cython 可补充此不足)。

Python 存在一些不太引人注意的编程盲区死角 (不常遇到但偶尔出现) 或难免易犯的一些错误。

盲区死角


特别是采用一些技术不成熟、开源框架二次开发的应用程序,还有多人开发同一应用。

某些功能,在慢速、快速使用时也有不同问题,特别是低配、高配电脑相差比较大时。

为提高性能,高速版应用程序的开发难度、迭代次数是一般应用程序的几倍,甚至几十倍以上。

即使是同一工程、同一模块文档,经常使用、高频使用、不常使用的源码也有差别。

譬如:不合格缩进、变量未在上下文中声明、有问题的函数定义、不合理的编程架构、等等。

由于 Python 编程效率相比 C/C++、Java、C#、PHP 等编程语言,不是高一点点,而是高太多太多。

当过快、过多编写未经充分测试的源代码,会产生一些功能上的使用、调试盲区 (譬如:逻辑缺陷、不规范的关键词命名)。

若按 Python 源代码动态方式、Cython 二次静态编译方式、或采用 PyInstaller 打包方式运行,因环境的变化也存在差别。

其中,PyInstaller 打包方式运行问题最多 (特别是单文件由于执行环境差别大),其次是 Python 源码方式,Cython 二次编译相对较稳定。

习惯性错误


若经常出现这种习惯性错误,说明源代码、逻辑或架构目前尚未成熟,还需进一步充分迭代。

譬如:需要进一步细分类及继承、调整算法、调整架构、理清上下文关系、等。

尤其,当应用程序源代码越来越多时,这种习惯性错误会经常出现。

主要因为上下文关系代码变得越来越复杂,改动一个地方的源代码,会影响很多不同地方的源代码。

解决办法


以能想到的各种方式 (包括各种直观感觉或逻辑猜测),尽可能找出所有相关问题、编程盲区。

编程能力有限 (或测试不充分) 造成的死循环、功能不足、软件兼容性问题,可在不断迭代升级中一步步解决。

若要解决这些问题,可使用一些源代码检测工具,还可以使用交叉二次编译、打包分发工具,或多版本并行开发方式。

或跨平台、跨版本、跨功能集成度 (如简化版),跨 Python 版本、跨框架,跨硬件、跨行业、跨场景、等方式,测试应用程序。

当然,也可以使用 Python 自带的一些调试工具或函数。

譬如:sys._current_frames() sys._getframe([depth]) traceback.extract_stack(f=None, limit=None) 函数, sys.last_traceback 变量。

推荐工具


最快找到问题代码的方式,可使用 Full Text Search 系列工具快速、高精度、无死角查找所有要修改的关键词、代码段。

然后使用 Full Text Replace 系列工具快速、高精度、无死角修改所有有问题关键词、代码段 (当然,还有全文移动)。

基于盲区、死角出现的以上各种情况,采用高速、高可控、可增量、多版本、柔性数字 IDE 很理想。

See also:

Copyright Notice: This article is exclusive original manuscripts, copyrighted by Happy Digits Software , shall not be reproduced without permission.