代码大全第二部分 (包含第四章)

第四章:关键的构建决策

    从标题可以看出这应该是从整个系统架构的角度来说,如何进行构建,是对当前即将开发的系统的重要性,决定性的作用,在一个比较大的公司,可能编程语音并不是一种,有时候你会感到纠结,到底该使用哪一种编程语音进行下面的工作呢?这个主要还是要考虑语言的通用性.还有就是当前状况下.员工对于某一种语言的熟悉程度,这些可以指导你该使用哪一种.当然了.我们公司现在用的就只有java,所以这个纠结点基本是不存在的.那么另外就是编程的约定,编程的约定是一件在你开始编程之前特别重要的一件事情.就比如我们现在中台对后台,前台对中台之间的各种枚举,请求参数,返回参数等等..这些都尽可能的在构建之前进行约定,如果实在是需要在编程的过程中才能定下某一些约定的话,那么第一件事情就是及时的沟通.第一时间的沟通.

(第二部分)

第五章:软件构建中的设计

    第一部分已经看完.确实如书本一开始所说.这本书虽然叫代码大全,但不是"代码大全",但是到目前为止我并没有看到一整行的代码,哈哈,这本书并不是交给你一行行的代码是如何写的.而是从整体系统架构的方面,告诉你如何设计你的系统,从编程的角度告诉你如何提高你的代码质量.让你的系统更加的灵活健壮,高可用!这应该是每个程序员的梦想.并不会告诉你这句代码该怎么去写,那句代码该怎么去写!本章是从构建的设计这个角度来谈您的系统如何能够更加的完善!

    一听设计这个词语,脑子可能会出现各种关于房屋方面的问题.因为这是我们日常可能接触最多的关于设计的东西.在你上班的公交车上,回家的地铁上可能都会看到满天的广告,房屋的设计是如何如何的人性化.如何如何的符合您的要求.甚至是定制化的设计!

    那么作为程序员的你,应该也听过软件的设计.不错,在你开始构建之前.对你想做的系统进行设计是必不可少的,就像建筑师在得到一块地需要盖楼房的时候,可定也是先对现场进行考察.必须要有精确的设计蓝图,考虑各种的外在因素,各种问题都已经考虑完全,或者接近完美之后才会开始施工.那么在软件开发中也同样的道理,也是需要进行详细的设计,你的系统需要多少个模块,各个模块之间的依赖是什么样的,尽最大能力去实现松耦合,减轻程序的复杂度.

    理想的设计特征:最小的复杂度,易于维护,松耦合,可扩展,可重用.高扇入(就是说让大量的类使用某个给定的类,这意味着系统很好的利用了在较低层次上的工具类),低扇出(让一个类少量或者适中的使用其他类)可移植性,精简性,层次性,标准技术(少用五花八门的外来的东西,尽量标准化让后期维护的人能够很容易理解)

   抽象--这个词大家也并不陌生.在软件开发中抽象也是很重要的很重要的一部分.开发过程中可以结合现实生活中的抽象来设计软件

   封装--java 开发中,把功能实现的代码进行封装.调用者只需要知道给你什么参数能够得到什么结果就可以了,至于你里面是怎么实现的调用者无需关心!

   继承--良好的继承关系能够帮助我们把软件设计的非常的优雅,不必导出都是相同的代码,继承的功效就是要帮你实现牵一发而动全身的效果,改动一个地方就能帮你改动所有需要改动的地方,但是继承如果设计的不好的话反而会造成困扰.

   当然了真正好的设计也是经过次次的迭代才出来的.没有人能够真正一下设计的系统几乎完美,你总会在开发中遇见想到想不到的一些问题,所以不要着急.经验会帮助你!

第六章 :可以工作的类

创建一个类的理由:

    对现实世界中的对象建模,对抽象对象建模,降低复杂度,隔离复杂度,隐藏实现细节,限制变化所影响的范围,隐藏全局数据,让参数传递更流畅,创建中心控制点,让代码更易重用,为程序族做计划,把相关操作放在一起,实现特定的重构

    类是管理程序复杂度的首要工具,  一个好的类可以帮助我们在开发的过程中解决很多的麻烦事情,但是如果类设计的不够完美,不是很好的话反而会在开发中得到相反的效果,本章同样提到了类的继承和封装,原先只是把一组相关的数据放置在一起,当成类的属性,并没有考虑到抽象这一个方面进行类的设计,类的继承是一件让程序员减少代码量的一个很好的工具,但是同时也是建议不要继承太多的层次,继承层次太多反而会导致程序的复杂度,创建类的一个目的就是要减少程序的复杂度,包括节省空间等等.继承代表了子类是一个....

    子类和基类的关系一定要搞清楚,不要"覆盖"一个不可覆盖的方法,什么意思呢 也是说基类有一个私有的方法 add(); 编译器是不允许子类能够使用这个类的,子类如果在起一个和这个名字相同的方法,虽然没有起到覆盖的作用,但是会让别的程序员感到迷惑.!

第七章:高质量的子程序(类中的方法)

    从方法名做起--一定要起一个能够概括该方法功能的名字,不要起没有任何意义的方法名,甚至是相悖的方法名!良好的注释!良好的布局,合理的参数列表数最好不要超过7个!

    创建一个方法的正当理由:

    降低复杂度,引入中间,易懂的抽象(把一段可以提取的代码封装成一个方法,类似于代码重构),避免代码的重复,支持子类化(可以让子类能够很好的覆盖基类,减少冗余,减少错误率),隐藏顺序(执行顺序代码,提取到一个单独的方法会比较容易维护),隐藏指针操作(常见的空指针,如果可以直接指定到某一个方法是很容易定位问题的),提高可移植性,改善性能(修改代码的时候改这一个地方即可)

     看似简单的一两句话的代码,并非不是不需要为它创建一个单独的方法!(视情况而定),不要吝啬局部变量,该声明的一定声明,这样可以提供可读性!

    创建子程序最主要的目的是提高程序的可管理性!

第八章:防御式编程

    其实刚看到这一章的第一页的时候,就让我想起了咱们开发中最最经常遇见的空指针异常,子程序不应该因为传入的参数有误二崩溃,程序员在编程子程序的时候就应该避免这些情况!要做到保护自己的子程序不要因为外部的参数而遭到破坏.这一点我觉得报几次异常就长记性了!

    健壮性和正确性:健壮性意味着不断尝试采取某些措施,保证软件可以持续的运转下去,哪怕一时返回的不是准确的结果!正确性代表了必须是准确的结果!

第九章:伪代码编程过程

      便于审查 就是通过英语翻译的形式写出你将要写的正式程序 但是不要出现正式编程中的特定语句


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值