不要坚持所有声明都应该放在函数顶部
文章插图
NR.1: Don't insist that all declarations should be at the top of a functionNR.1:不要坚持所有声明都应该放在函数顶部Reason(原因)
The "all declarations on top" rule is a legacy of old programming languages that didn't allow initialization of variables and constants after a statement. This leads to longer programs and more errors caused by uninitialized and wrongly initialized variables.
“将所有所有声明放在最上面”规则是旧编程语言的遗产 , 该编程语言(就是C语言 , 译者注)不允许在语句后初始化变量和常量 。这将导致更长的程序 , 更多由于变量未初始化或错误初始化引发的错误 。
Example, bad(反面示例)
int use(int x){int i;char c;double d;// ... some stuff ...if (x < i) {// ...i = f(x, d);}if (i < x) {// ...i = g(x, c);}return i;}
The larger the distance between the uninitialized variable and its use, the larger the chance of a bug. Fortunately, compilers catch many "used before set" errors. Unfortunately, compilers cannot catch all such errors and unfortunately, the bugs aren't always as simple to spot as in this small example.
未初始化变量与使用该变量的代码之间的距离越大 , 发生错误的机会越大 。 幸运的是 , 编译器可以捕获许多“设置前使用”错误 。 不幸的是 , 编译器无法捕获所有此类错误 , 这些错误并不总是像这个小例子中那样容易发现 。
Alternative(替代方案)
- Always initialize an object
- 保证所有对象被初始化
- ES.21: Don't introduce a variable (or constant) before you need to use it
- ES.21: 不要在不需要时引入变量(或常量)
#nr1-dont-insist-that-all-declarations-should-be-at-the-top-of-a-function
新书介绍
《实战Python设计模式》是作者最近出版的新书 , 拜托多多关注!
文章插图
本书利用Python 的标准GUI 工具包tkinter , 通过可执行的示例对23 个设计模式逐个进行说明 。 这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明 , 让读者明白在编写代码时如何判断使用设计模式的利弊 , 并合理运用设计模式 。
对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础 , 迅速构建自己的系统架构 。
觉得本文有帮助?请分享给更多人 。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发 , 面向对象思考!
- 王文鉴|从工人到千亿掌门人,征服华为三星,只因他36年只坚持做一件事
- 发展|我省要求互联网平台坚持依法合规经营 推动线上经济健康规范发展
- 核酸|北京:所有入市交易冷链产品做到不验核酸不入库
- 热度|抢注商标,是蹭热度还是不要脸?
- 手机|这4样物品不要和手机放一起,好多人不知道,别当耳旁风
- 中企|这和不要脸有何区别限制中企发展,还想要求中方给其“开后门”
- 未来|直播带货的未来在哪里?做内容,坚持这个方向才有变现价值
- 最贵|苹果坚持自研原因曝光,iPhone12最贵部件只能靠购买,比A14贵1倍
- 想要|盘点iQOO所有机型,到底哪几款才是你真正想要的
- 繁荣|直播带货:不要被虚假繁荣蒙蔽了双眼!