`
hackbomb
  • 浏览: 215069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

高质量软件开发人员的五大习惯

阅读更多

习惯1:构造器实现最少的工作

第一个习惯是一个对象的构造器只能实现尽量少的工作。理想的,构造器仅仅是通过它的参数载入数据到它的实例变量。
另一方面,状态的改变和行为方法的名称使用描述性的名称来表达它们更加复杂的意图,就像在"习惯2:方法名要清晰地表达方法的意图"描述的那样。
另一方面,那些构造器的功能超过载入实例变量的对象是难于理解的,并且容易被误用,因为它们的名称没有传递它们的意图。

习惯2:方法名清晰的表达方法的意图

第二个习惯是,通过它们的方法名,所有的方法必须清晰的传递它们的意图。

长的、描述性的方法名帮助开发团队迅速的理解他们的软件的意图和功能。
应用这种技术到测试方法的名称,使得测试表达了软件现有的需求。
描述性的方法名减少了对于常规文档或者Javadoc注释的需要。

习惯3:一个对象执行功能集中的服务集

软件的每一个对象都集中的执行一个小的、独一无二的服务集。
执行小基数工作的对象容易阅读,容易正确使用,因为只有少量的代码需要理解。此外,软件的每一个对象都必须执行独一无二的服务集,因为重复的逻辑浪费开发人员的时间,增加维护的成本。

习惯4:状态改变方法包含最小限度的行为逻辑

混合状态改变逻辑和行为逻辑使得软件理解起来更加的困难,因为它增加了在一个地方发生的工作的数量。状态改变方法通常是用来获取或发送数据到一个远程的数据存储设备,因而容易在产品系统中出现问题。诊断一个状态改变方法的系统问题在远程调用被独立的时候更容易一些,这时候它完全不含有行为逻辑。此外,两者的混合还制约了开发过程。

习惯5:行为方法能够在任何条件下被调用

一个对象的行为方法能够被重复和以任何顺利调用。这个习惯使得对象传递固定的行为。

分享到:
评论

相关推荐

    软件开发实习报告

    ### 软件开发实习报告知识点总结 #### 一、实习背景与意义 - **实习背景**:在大学教育的最后阶段,为了更好地衔接理论学习与实际工作,很多高校都会鼓励或要求学生进行毕业实习。这份实习报告来自一位即将从**...

    微软公司软件开发模式简介

    微软的软件开发模式是一种高度系统化和结构化的流程,旨在确保高质量的产品产出。该模式主要包括以下几个核心组成部分: 1. **里程碑管理(Milestone Management)**:这是一种阶段性的开发策略,将整个项目划分为...

    高质量c++编程指南

    - **核心理念**:高质量编程不仅仅是一种技术手段,更是对软件开发过程的一种态度和责任感的体现。 - **未来发展**:随着技术的进步,高质量编程的要求也在不断提高,开发者需要不断适应新技术、新方法,才能确保...

    软件开发工程师(程序员)的就业前景如何?.pdf

    牛耳依托自身丰富的IT行业经验,9年来一直致力于为IT企业培养和输送高质量、专业化计算机软件开发人才。目前,牛耳已建立起了从软件技能培养、职业素质训练、项目实训到人才输送的一体化服务体系。

    基于JavaWeb的软件开发综合实训平台的功能设计与实现论文.docx

    ### 基于JavaWeb的软件开发综合实训平台的功能设计与实现 #### 一、引言 随着信息技术的快速发展和教育理念的不断更新,高校在软件工程教育领域面临着新的挑战和机遇。为了更好地培养学生的实践能力和创新能力,...

    5、利用CMM保证软件质量

    每个级别都代表了组织在过程管理和控制方面的成熟度水平,通过逐步升级,组织可以持续改进其软件开发过程,最终达到高质量和高效率的目标。 ### CMM与软件质量的关系 CMM的核心在于过程控制和标准化,这直接关系到...

    软件开发实习总结.doc

    2. **单元测试**:进行有效的单元测试可以减少后期集成过程中可能出现的问题,确保软件的高质量交付。 #### 五、前期规划的重要性 1. **前期规划的过程**: - 需求收集:由市场人员汇总客户需求。 - 需求分析:...

    高质量C++C编程指南beta.doc

    通过反思这些误区,作者鼓励程序员们重视软件工程的各个阶段,包括需求分析、设计、编码、测试和文档编写,以实现高质量的软件开发。 在阅读本书的过程中,读者不仅能够了解到C++/C编程的规范和最佳实践,还能学习...

    中小型水利工程CAD软件开发及应用.pdf

    在中小型水利工程CAD软件的设计过程中,设计者需要充分考虑工程特点、设计需求、以及不同设计人员的操作习惯和地区的具体要求。CAD软件在设计中应具备良好的可扩展性和可修改性,以适应不断变化的设计需求。软件设计...

Global site tag (gtag.js) - Google Analytics