热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

《代码大全》阅读笔记(二)

提出抽象数据类型,是进行模块化(原文为类)的基础。可以让我们只根据当前类型来理解代码,或者操作相应的功能。良好抽象数据类型,让我们有效地隐藏一些数据以及实现的细节,同时提高程序的可

提出抽象数据类型,是进行模块化(原文为类)的基础。可以让我们只根据当前类型来理解代码,或者操作相应的功能。
良好抽象数据类型,让我们有效地隐藏一些数据以及实现的细节,同时提高程序的可读性,降低程序的复杂度(不用去关心底层具体实现),让程序更容易理解。避免使用全局数据,提高程序的可重用性。

保证垃圾进,正确出
检查输入参数,是最有效的方式
其中断言是最好检查输入参数的方式。对于断言的使用要讲求方法,同时在正式代码中要避免存在断言。
在看到断言的时候,想起来自己之前使用断言的方式,
突然发现有些问题。
那个时候,总希望断言能够判断并决定是否返回值,或者不返回。
其实这里,只需要进行判断就行了。对于具体的处理,
由程序代码处理,
是返回值,或者不返回值。
当然,这里就需要,断言只是判断的代码,而没有执行的代码。
对于健壮性与正确性,是一对矛盾,根据需要,
合适的时候,选择合适的处理平衡。
断言处理,函数的前条件和后条件。
当然,对于错误处理的方式,有很多种,也需要根据需要,
选择合适的方式。
对于健壮性要求,和正确性要求,他们适合的方式,不一样。
工业类软件,及要求健壮性,也要求正确性。
要同时保证这两个。
如果可以,将断言单独做一块处理。
保证进入子函数的数据,都是正确的。
区分开发代码,和产品代码。在开发代码中,尽量采用进攻式编程,找出尽可能多的错误。
在发布的产品代码中,尽量使用防御式编程。



推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
author-avatar
州徐国中
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有