随笔分类 - Reading notes
Reading is a delightful thing.
摘要:有效使用伪代码:1、用类似英语的语言2、避免使用特点语言的元素3、在本意(intent)层面上编写伪代码4、在低层编写伪代码通过伪代码创建子程序1、检查先决条件(定义明确,与整体设计相符,结合需求必须)2、定义子程序要解决的问题(隐藏什么,输入什么,输出什么,前后条件是什么)3、为子程序命名4、决定如何测试子程序5、在标准库中搜索可用的功能6、考虑错误处理7、考虑效率问题8、研究算法问题9、编写伪...
阅读全文
摘要:子程序不应该因传入错误的数据而被破坏,哪怕是由其它子程序产生的错误数据。1、检查所有来源于外部的数据2、检查子程序所有输入参数的值3、决定如何处理错误的输入数据使用断言1、用错误处理代码来处理预期会发生的错误,使用断言来处理绝不会发生的状况2、避免把需要执行的代码放在断言中3、用断言来注释并验证前条件和后条作4、应该先使用断言再处理错误错误处理技术1、返回中立值2、换用下一个正确的数据3、返回与前...
阅读全文
摘要:良好的类接口:1、类的接口应该展现一致的抽象层次2、一定要理解类所实现的抽象是什么3、提供成对的服务4、把不相关的信息转移到其它类去5、尽可能的让接口编程,而不是表达语义6、谨防在修改时破坏接口的抽象7、不要添加和接口抽象不一致的公用成员8、同时考虑抽象性和内聚性 良好的封装:1、尽可能的限制类和成员的可访问性2、不要公开暴露成员数据3、避免把私用的实现细节放入类的接口中4、不要对类的使用者进行任...
阅读全文
摘要:子程序就是为实现一个特点目的而编写的一个可被调用的方法和过程。方法 -- 具有返回值过程 -- 不具有返回值 为什么要创建子程序:1、降低复杂度(隐藏信息)2、引入中间、易懂的抽象,一个命名合适的子程序,是说明代码用意的最好方法3、避免代码重复4、支持子类化5、隐藏顺序6、隐藏指针操作7、提高可移值性8、简化复杂的判断9、改善性能10、隐藏全局数据如何设计子程序:1、功能内聚性,顺序内聚性,而...
阅读全文
摘要:“险恶的问题”就是那种只能通过解决或部分解决才能明确的问题。犯错正是设计的关键所在--在设计阶段犯错并加以改正,其代价要比在编码后才发现同样的错误并彻底修改低得多。设计永无止境--到你没有时间再做了为止。精心设计的对象关系使关注点相互分离,从而使你在每个时刻只专注于一件事情。理想设计特征:1、最小的复杂度2、易于维护3、松散耦合4、可扩展性5、可重用性6、高扇入7、低扇出8、可移植性9、精简性10...
阅读全文
摘要:人类的思维以语言为载体,语言决定思维,没有语言就没有思维。深入语言去编程。
阅读全文
摘要:架构师吃掉需求,设计师吃掉架构,程序员消化设计。就如同你做这个项目的时间越长,对这个项目的理解也就越深入一样,客户参与项目的时间越长,他们对项目的理解也就越深入。开发过程能帮助客户更好的地理解需求,这是需求变更的主要来源。如果你的需求不够好,那就停止工作,退回去,先把它做好,再继续前进。确保每个人都知道需求变更的代价,建立一套变更控件程序,使用能适应变更的开发方法,放弃这个项目,注意项目的商业案例...
阅读全文
摘要:隐喻是什么?人们常常利用隐喻来利用了解的事物理解不了解的事物,如,我们在用鸡蛋来理解地球的结构,认为它由地壳(蛋壳),地幔(蛋白),地心(蛋黄)组成。在软件开发中,隐喻是一种启发,而不是一种算法。比如人们用传统建筑业来比喻软件开发,于是发现了可用于软件构建的设计模式。常用的软件隐喻:“种植庄稼”“牡蛎培植珍珠”“建筑”
阅读全文
摘要:软件开发过程中的活动:定义问题需求分析规划构建软件架构详细设计编码与调试单元测试集成测试集成系统测试保障维护
阅读全文

浙公网安备 33010602011771号