`
zhongxiucheng
  • 浏览: 70897 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

经常出现情况的处理原则

阅读更多

每一个程序员在长期的代码书过程中,经常会遇到各种各样的情况,会写出千变万化的代码,但是程序员们或多或少的都会遇到似曾相识情况,它们的实际业务可能根本不相同,高人们一般把这种相似的情况抽象为模式,对模式我也是一知半解,在网上还经常听到一个比较流行的词就是重构,对于重构与模式是什么样的东西,它们之间有什么样的联系和区别,我不想去讨论,这样的工作我也做不来,但作为程序员我认为应该经常总结,有自己的想法,对于你遇到的相似情况,要思考该采用什么样的方式来处理,会让自己定出来的程序感觉很“舒服”,这里就结合我自己的学习与理解来进行一个记录与总结

1 使用查询方法取代临时变量

这种说法是我从重构的书本上看到的,使用比较多的临时变量,是很多程序员的毛病,我自己也是如此,问题的本质并不在临时变量,临时变量也没有什么不好,否则就不会有临时变量了。我是这样来看待这个问题的,一个临时变量的背后通常意味着一个算法,而一个算法又往往意味着一个独立的功能(问题多种多样,事实可能并不是如此,但我是这样理解的),如果在一个方法定义中使用临时变量,那么99%可能程序会将这种功能性的算法融入到方法内部,两个或两个以上的这种功能性算法融入在一个方法中(可能意味着两个或两个以上的临时变量),我认为这至少会带来两个不利的因素:A这种功能性算法会被屏蔽,也就是说虽然这些功能性算法已经被设计出来,但是它不能为其它方法提供服务,除了它所在的那个方法;B在一个方法的内部如果存在多个功能性算法,会使这些算法交错偶合在起,这很容易迷惑程序思维与视线,不利于方法的维护。造成这种现象一个主要原因,我认为是很多程序员是从过程化语言开始学习程序设计的,所以在写一个方法的时候总喜欢把思维集中方法内部,没有大局观,只看到眼前的几行代码,当然我意思并不是过程化语言一定会出造成这种现象,只是我认为它比较容易造成这种情况。举一个最常见的例子:在一个方法中有三个求和的临时变量,那么大多数的程序员会使用一个循环,对这三个变量同时求和,而不会在方法内部使用三个循环分别对三个变量进行求和。这就将三个功能性算法进行了偶合,当然在不明实际情况的下,不能对谁优谁劣做出评价,但是如果就前面所说,如果这三个变量分别代表一个对象的三个有实际意义的功能性算法,我认为将三个功能性算法抽取为三个独立的方法会更加优秀,即使这样会做三次循环。关于这个问题我以前总是对性能非常的纠结,但是在99%的情况下应该是没有性能问题,除非情况确实非常特殊。即使存在性能问题,也可以在后期进行优化

分享到:
评论

相关推荐

    专题资料(2021-2022年)《船舶安全检查缺陷处理指导原则船旗国监督检查部分》.doc

    通过对检查员的专业培训,确保他们能够正确识别和处理船舶在航行中可能出现的各种缺陷。 综上所述,《船舶安全检查缺陷处理指导原则船旗国监督检查部分》的发布,对于提升我国海事管理水平、保障船舶安全和海上环境...

    结膜异物处理原则基本自救现场如何怎么处理应急紧急救援步骤措施.docx

    首先,当发现结膜异物进入眼睛时,最重要的原则是“不要揉眼”。用手揉搓眼睛会使得异物嵌入更深,增加划伤角膜和感染的风险。正确的方式是尽量保持冷静,可以通过眨眼的方式尝试让自然产生的泪液帮助冲洗异物。如果...

    java设计 原则61条

    在第30页提到,整个系统应当采用一致的异常处理机制,以保证程序在遇到异常情况时能够统一处理,而不是在各个地方随意处理异常。 **原则13:合理使用资源管理** 第30页还提到,在资源密集型操作中,比如数据库连接...

    产后出血的治疗方法及治疗原则.pdf

    针对产后出血的治疗原则,首先要求快速诊断并开始处理,以控制出血并评估出血原因。医生需要根据产妇的状况和出血的原因来选择适当的治疗策略。其次,一旦出血得到控制,就需要对产妇进行恢复期的管理,包括监测生命...

    PL面(分型面)的处理原则

    合理的PL面处理原则能够有效地减小制品可能出现的不良情况。 在讨论PL面的处理原则之前,需要明白PL面的作用。PL面是指模具在分型时接触的表面,用于保证模具能够顺利开合,同时确保成型后的制品能够顺畅地从模具中...

    数据库建表原则 数据库建表原则

    数据库建表原则 数据库建表原则是数据库设计的核心要素之一。遵守这些原则可以确保数据库的正确性、可靠性和高效性。本文将从七个方面介绍数据库建表原则。 1. 原始单据与实体之间的关系 原始单据与实体之间可以...

    里氏替换原则精讲

    1. **确保继承关系的正确性**:里氏替换原则旨在确保在使用继承时,派生类能够正确地扩展或实现基类的功能,避免派生类与基类行为不一致的情况发生。 2. **增强代码的稳定性和可维护性**:遵循里氏替换原则设计的...

    面向对象的设计原则——类设计原则

    面向对象设计原则是软件工程领域中的重要组成部分,旨在提高软件系统的可维护性、可扩展性和灵活性...遵循这些原则,不仅可以提高代码的质量,还能有效应对未来可能出现的需求变更,减少重构成本,提升软件的长期价值。

    结肠憩室炎的处理原则PPT学习教案.pptx

    总之,结肠憩室炎的处理原则涵盖了多个方面,包括对不同类型的憩室炎采取不同治疗措施,根据病情严重程度进行评估,以及合理应用药物和外科手段。这一系列治疗策略的合理应用,不仅能够有效控制病情,还能减少复发,...

    医疗废物处理原则.doc

    所有废物出科室时都需标注产生科室、日期、废物类型等详细信息,并进行交接登记,这样有助于明确责任,一旦出现问题便于追踪和处理。 医疗废物的临时储存也有严格要求。废物暂时储存不得超过2天,储存地点需要保持...

    锅炉主要事故处理原则.docx

    文档中的内容涉及的是电力行业中锅炉运行过程中的事故处理原则,主要涵盖了引风机、送风机、一次风机、给水泵和磨煤机等关键设备可能出现的问题及应对措施。以下是这些知识点的详细说明: 1. 引风机跳闸:当一台引...

    急性中毒急救原则与技术基本自救解救治疗现场如何怎么处理应急紧急救援步骤.docx

    【急性中毒】是指人体在短时间内接触到过量有毒物质,导致身体功能出现严重障碍甚至危及生命的现象。常见的急性中毒情况包括误服化学...初步处理后,应立即送往医疗机构,由专业医护人员进行进一步的解毒和对症治疗。

    模式和原则

    - 控制器负责处理外部请求,并将请求转发给适当的对象进行处理。 - **Indirection(间接性)** - 通过引入中介对象来降低类间的直接依赖,例如使用工厂模式创建对象而非直接实例化。 - **High Cohesion(高内聚)*...

    事故处理原则与方法.doc

    在现代社会发展过程中,电力已成为不可或缺的能源,其供应的稳定性和安全性直接...一旦出现事故,只有遵循既定的事故处理原则和程序,才能保证电力供应的快速恢复,以满足社会对电力的需求,确保人民生活的正常进行。

    传染病的诊断标准及处理原则借鉴.pdf

    处理原则方面,传染病的治疗应包括隔离治疗、补液纠正脱水、合理使用抗生素等。特别是在处理细菌性痢疾时,必须严格遵循抗生素治疗指南,合理用药,避免产生耐药性。同时,对症支持治疗,如退热、止泻等,也是不可或...

    系统总体设计原则

    4. **采用集中与分布式相结合的系统结构**:考虑到不同地区的经济发展水平和网络条件,采用集中与分布式的数据库结构可以更好地适应实际情况,同时也有利于未来的扩展和升级。 #### 四、档案管理系统设计原则 档案...

    经典数据库设计14个原则

    ### 经典数据库设计14个原则 #### 1. 实体关系的一对一、一对多、多对多关系 - **定义与解释**:在数据库设计中,实体之间的关系通常分为一对一(1:1)、一对...在实际应用中,还需要根据具体情况灵活运用这些原则。

    地铁技术接口处理原则.pdf

    同时,工程团队还需要具备对新情况、新问题快速响应的能力,这在面对地铁工程中频繁出现的技术挑战时尤为重要。此外,对技术接口的科学管理和持续优化,能够有效地解决跨专业、跨系统的协调问题,从而提升地铁建设的...

    计算机故障处理的基原则和方法

    《计算机故障处理的基本原则与方法》 在信息技术领域,计算机作为关键工具,其稳定性和可靠性对个人和组织的日常运营至关重要。然而,由于各种原因,计算机可能会出现故障,导致工作效率下降甚至业务中断。因此,...

    旅游者个别要求的基本原则与处理.pptx

    【旅游者个别要求的基本原则与处理】 旅游过程中,游客可能会提出各种个别要求,这些要求可能是出于个人生活习惯、特殊需求或突发情况。处理这些要求时,导游需遵循一系列基本原则,以确保游客满意度的同时,保障...

Global site tag (gtag.js) - Google Analytics