首页 > 其他分享 >代码大全1

代码大全1

时间:2023-04-28 21:35:16浏览次数:31  
标签:代码 编程 程序 构建 内容 软件 部分 大全

与以前读过的《重构》一样,这本书里有很多经验在实际开发中都慢慢摸索了出来或是从其他书籍论坛中学习到过,但是更多的是完全没有意识到和模模糊糊没有形成明确概念的内容:

例如第30章编程工具里有“工具导向的环境”这样的内容,虽然在开发过程中会有意识地去制作一些工具,但是没有形成如书中这样明确的工具导向的开发方式;

此外,很多以前完全没有想过的区域也让我的眼界又得到了增长——即使这是一本十来年前的书:

例如第一部分打好基础,这一部分重点讲解了在软件构建前的准备工作,由于我实际开发时间不够长,也没有经历过完全空白的立项项目,这一些内容对我而言几乎是完全没有想过的,里面出现的思考方式和思考内容也让我耳目一新。

又例如软件工艺这一部分,主要讲在程序本身之外的内容,包括程序外的文档、程序本身的布局、程序内的注释、程序员的性格对写代码的影响等等,以前我几乎都是完全瞎搞。

第一部分是打好基础,本部分主要是软件构建前期的工作,以及对一些基本概念的介绍,具体包括如何选择编程语言和构建实践方法,如何理解软件开发的过程。软件开发本质上说就是工程,书中用建筑工程对其作比喻。不过由于软件产品本身的特性,使其需求产生变化的可能性很大,因而也产生一系列需要额外考虑的问题(否则的话,直接套用现在的工程方法就OK了)。

第二部分是创建高质量的程序,第三部分是变量,第四部分是语句。这三个部分是对语言层进行说明。

第二部分从整个程序的角度,包括构建类的考虑因素,创建子程序需要注意的地方,以及如何进行防御式编程。个人以为防御式编程是很重要的,不光是可以保证程序现在的正确性,同时也可以较长时期保证程序不至于出现大的问题。由于防御式编程,所以可以在出现问题之后,较快的确定问题所在甚至是处理部分问题。这个实现技术主要是异常处理机制,断言等等。实际上一个真正强大的软件大部分的逻辑应该是异常逻辑,只是解决正常工作情况的程序,不能称之为软件。

标签:代码,编程,程序,构建,内容,软件,部分,大全
From: https://www.cnblogs.com/cocotun/p/17363196.html

相关文章

  • 4.28代码大全读后感3
    最近在《代码大全》这本书,包括的内容非常多,从软件设计到代码开发,团队管理都有,更像是一个软件编程领域的百科全书.但是,对于书中提到的一点印象最为深刻,其实在《人月神话》和《卓有成效的程序员》这两本书都有提到,那就是:软件设计与开发的核心就在于控制复杂......
  • 代码理解误区
    1、在定义生成器的函数中,对于第一层卷积层,输入256*256*3的遮挡图,使用64个4*4的卷积核,步长为2,same填充,对于输出的图像尺寸一开始总觉得是256*256,因为一直觉得same填充时尺寸不发生改变,但是查了查步长的作用发现即使是用same填充,步长也会影响尺寸的大小,所以总结得出:求尺寸面对same......
  • 梦断代码读后感(二)
    好程序员懂得写什么,而卓越的程序员知道该写(并复用)什么。当我读这本书之前,我以为书本内容都是和代码有关的枯燥的内容而已,但是,从开始阅读这门书开始,我就觉得作者讲述的这些经历今后将对我有所帮助。本书的内容大都是故事类型的结合工作经验,总结出的实践之道。从上软件工程课程......
  • 《代码大全2》阅读笔记01
    在我的软件开发经历中,我曾经遇到过编写代码时犯的一些错误,而这些错误在《代码大全2》这本书中都有提到。其中一个问题是过度地注释代码。我过去常常使用很多注释,认为它们可以帮助我自己和其他人更好地理解代码。但是,在阅读这本书之后,我了解到这种做法可能会带来一些负面影响,并会......
  • python用支持向量机回归(SVR)模型分析用电量预测电力消费|附代码数据
    全文链接:http://tecdat.cn/?p=23921最近我们被客户要求撰写关于SVR的研究报告,包括一些图形和统计输出。本文描述了训练支持向量回归模型的过程,该模型用于预测基于几个天气变量、一天中的某个小时、以及这一天是周末/假日/在家工作日还是普通工作日的用电量关于支持向量机的快速......
  • VC下Base64编码及解码程序源代码
    //Base64.h:interfacefortheCBase64class.////#if!defined(AFX_BASE64_H__8D85F486_CD10_4A0A_A689_2299C9DE52CB__INCLUDED_)#defineAFX_BASE64_H__8D85F486_CD10_4A0A_A689_2299C9DE52CB__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_V......
  • mybatis Generator生成代码及使用方式
    为什么要有mybatismybatis是一个Java的ORM框架,ORM的出现就是为了简化开发。最初的开发方式是业务逻辑和数据库查询逻辑是分开的,或者在程序中编写sql语句,或者调用sql存储过程。这样导致思维需要在语言逻辑和sql逻辑之间切换,导致开发效率低下。所以出现了一系列的ORM框......
  • Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测|附代
    全文下载链接: http://tecdat.cn/?p=27042最近我们被客户要求撰写关于新冠疫情的研究报告,包括一些图形和统计输出。在本文中,该数据根据世界各国提供的新病例数据提供。获取时间序列数据df=pd.read_csv("C://global.csv")探索数据此表中的数据以累积的形式呈现,为了找出每天......
  • System.getProperty()参数大全
    java.versionJavaRuntimeEnvironmentversionjava.vendorJavaRuntimeEnvironmentvendorjava.vendor.urlJavavendorURLjava.homeJavainstallationdirectoryjava.vm.specification.version......
  • Python rangelib.RangeSet类代码示例
    https://vimsky.com/examples/detail/python-ex-rangelib-RangeSet---class.htmlPythonrangelib.RangeSet类代码示例本文整理汇总了Python中rangelib.RangeSet类的典型用法代码示例。如果您正苦于以下问题:PythonRangeSet类的具体用法?PythonRangeSet怎么用?PythonRangeSet使......