`
byf157
  • 浏览: 207794 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

转:总结一下自己的代码最佳实践

 
阅读更多

昨天XX面试时,一道这样的问题难住了我,就是:在这么多年的编码中,说说自己的最佳实践。当时懵掉了,虽然看过很多敏捷开发、代码清洁之道、代码大全这些关于最佳实践的书,但却一条也说不出来。趁现在有时间,想想这个问题,总结一下自己的代码最佳实践。

 

  1. 一致的代码格式。
  2. 形成自己的工具类

开发时,为了减少代码量,多使用第三方的类库,如 Apache Commons 等,里面提供了简化操作的类。形成自己的工具类目标是简化代码开发,对一些通用功能进行封装。

  1. 业务逻辑与技术实现相分离

如果一个函数或者一个类主要用来描述业务逻辑实现,那么最好不要在该方法有过多的技术细节实现。例如注册读者的功能,检查有效性、插入到数据库、发送邮件等这些算是业务逻辑。而针对每一个业务逻辑的技术实现细节最好和业务逻辑实现分开。这样使代码更加清晰。

  1. 保持类和函数的短小,尽量提取可复用组件或者函数

类短小,可以控制类的单一功能和类的简单性。越简单越有助于重用。编写代码时,对每个代码段考虑这个代码段会重复出现吗?重复出现时,哪些参数需要变化?该怎么抽象这段代码呢?

  1. 用设计模式去思考要解决的问题。而不是用流程去思考问题。
  2. 优先使用组合,而非继承。继承意味着会给新建类带来新的方法,这些方法真的适用于这个新建的类吗?
  3. 编写类时,应考虑这个类会不会在多线程下使用,如果在多线程环境下会不会有问题,如果有问题,该怎么解决。
  4. 慎用 StringBuffer/Vector/HashTable ,这些类尽管在多线程下没有问题,但在单线程环境下可能效率不高。在单线程环境下,使用 StringBuilder/ArrayList/HashMap. 如果是多线程环境,考虑使用 JCF 中的同步类。
  5. 变量名、函数名、类名表意。写出来的代码要达到不用注释就能看懂。
  6. 命名时,避免使用类似 ReaderInfo ReaderClass 这样的类名。 Info Class 是语义的重复,无需在命名时使用。
  7. 边开发边重构。写代码时,如果发现有些不妥的地方,要及时重构和修改、测试。有时会想,先做完再重构,忘掉这种想法。这种想法不可取。越往后拖,越不易重构,越懒得重构。
  8. 应考虑写出的代码可能面临的性能问题。使用这个类合适吗?有更简单更有效的代码改进吗?循环的结构修改一下会不会会提高效率,要不要定义临时变量或者状态字段存储处理结果以减少多次运算?……
  9. 常见的类名前缀或者后缀: Simple*** Default***, ***ServiceProvider ***Utils, ***Templage, ***Template

, ***Model ***Factory, ****Adapter . 接口在声明是多使用 ***able ,表示实现类具有该能力,如 Runable ,Configurable,Customizable   Imutable 等等。而实现类的声明多使用 ***Runner,****Configuration 等名词结构。

分享到:
评论

相关推荐

    深入Android应用开发:核心技术解析与最佳实践

    深入Android应用开发:核心技术解析与最佳实践以Android的源代码为主,SDK为辅,针对应用开发者的需求,对各种核心技术的使用方法、底层原理和实现细节进行了深入而详细的讲解,同时辅之以大量案例和最佳实践,为...

    Python自动化运维::技术与最佳实践

    ### Python自动化运维:技术与最佳实践 #### 一、引言 随着信息技术的快速发展,运维工作也变得越来越复杂。为了提高运维效率并减少人为错误,自动化运维成为了IT行业的热门话题。Python作为一种简单易学且功能强大...

    云原生技术架构与实践.pdf

    - 持续集成与持续部署的最佳实践,包括代码管理、自动化测试等。 5. **云原生安全** - 云环境下特有的安全挑战,如数据保护、身份验证等。 - 实施云原生安全策略的方法和技术,如网络安全、应用安全等。 #### ...

    React 实战:设计模式和最佳实践

    总结,"React 实战:设计模式和最佳实践"这本书会涵盖以上所有内容,包括React组件化、状态管理、生命周期、高阶组件、最佳实践以及测试等重要知识点。通过深入学习和实践,你将能构建出高效、可扩展的React应用。

    深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码.zip

    设计模式是解决常见软件设计问题的模板,是经验丰富的开发者在实践中总结出的最佳实践。书中可能会涵盖如单例模式(Singleton)、工厂模式(Factory)、观察者模式(Observer)、装饰器模式(Decorator)等经典模式...

    深入探索Java中的单例模式:实现、应用与最佳实践

    本文将详细介绍几种常见的单例模式实现方式,并探讨它们在实际开发中的应用和最佳实践。 在实现单例模式时,应注意以下几点: 确保单例类不被继承,可以通过将构造函数设置为私有来实现。 考虑线程安全问题,选择...

    ASP.NET应用:DataGrid使用最佳实践代码

    总结,ASP.NET的DataGrid控件是强大的数据展示工具,掌握其使用最佳实践能帮助开发者创建高效、响应式的Web应用程序。理解数据绑定、性能优化、用户交互以及样式定制等方面的知识,对于提升项目的质量和用户体验至关...

    前端代码标准最佳实践:CSS篇

    ### 前端代码标准最佳实践:CSS篇 在前端开发过程中,良好的代码规范不仅可以提升项目的可读性和可维护性,还能有效优化页面性能。本文将深入探讨一系列由前端工程师们在实践中总结出的最佳标准实践,特别聚焦于CSS...

    深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码下载.rar

    《深入PHP:面向对象、模式与实践》是PHP开发领域的一本经典著作,尤其是第三版,它涵盖了PHP编程中的核心概念、高级技巧以及最佳实践。这本书深入探讨了PHP的面向对象编程(OOP),设计模式,以及实际项目中的应用...

    深入PHP:面向对象、模式与实践(第3版)-Mart Zandstra著, 陈浩,吴孙滨,胡丹,李静 等译

    《深入PHP:面向对象、模式与实践》是Mart Zandstra的经典著作,中文版由陈浩、吴孙滨、胡丹、李静等多位专家翻译,旨在帮助读者深入理解PHP的面向对象编程、设计模式以及实际开发中的最佳实践。这本书的第三版在前...

    C++ 最佳实践 cppbestpractices

    《C++最佳实践》文档是一本由国外开发者总结的C++编程最佳实践手册,旨在为有经验的开发者提供指导。本书不仅仅是一份简单的编码标准,而是一个协作式的、可扩展的C++最佳实践集合,它旨在补充诸如《Effective C++》...

    ASP.NET3.5最佳实践

    总结,ASP.NET 3.5最佳实践不仅仅是关于技术的运用,更包含了软件工程的多个维度,如设计、优化、安全和维护。通过深入学习和实践,开发者可以提升自己的专业素养,创建出高效、稳定、安全的Web应用程序。

    软件工程中的代码审查实践与经验.pptx

    #### 第五章:最佳实践与工具选择 - **最佳实践**: - 定期进行代码审查,确保每个提交都经过审查。 - 明确审查标准,使审查过程更加高效。 - 营造一个积极和支持的审查文化,鼓励建设性的反馈。 - 结合使用...

    SCRUM实践 最佳实践文档

    ### SCRUM实践最佳实践文档知识点总结 #### 一、Scrum概述与基本原则 - **Scrum定义**:Scrum是一种轻量级敏捷项目管理框架,主要用于软件开发领域,旨在通过迭代(Sprint)的方式实现快速交付高质量的产品。Scrum...

    《深入理解OSGi:Equinox原理、应用与最佳实践》迷你书

    4. 最佳实践:总结了大量关于OSGi的实践技巧,例如Bundle的命名、模块划分、依赖关系处理等,以及如何保持OSGi的动态性、管理程序启动顺序和使用API基线管理模块版本。这部分内容还包括了Spring DM的原理介绍,以及...

    html5游戏开发的五个最佳实践.pdf

    在文章中还提到了其他三个最佳实践: * 最佳实践#3: 管理游戏状态 * 最佳实践#4: 解决性能问题 * 最佳实践#5: 支持大多数浏览器平台 这些最佳实践可以帮助开发者更好地开发HTML5游戏,提高游戏的质量和效率。 ...

    C编程最佳实践

    本文提供的C编程最佳实践,旨在帮助开发者构建高质量、高可读性和易于维护的代码库。通过遵循这些指南,不仅可以提升个人编程技能,还能促进团队间的协作效率。在实际项目中,灵活运用这些原则,根据项目需求和团队...

    Oracle PLSQL编程最佳实践中文版

    ### Oracle PL/SQL编程最佳实践知识点...以上是对Oracle PL/SQL编程最佳实践中涉及的关键知识点的总结,涵盖了从基础概念到高级技巧的各个方面。通过遵循这些指导原则,可以显著提高Oracle应用程序的性能和可维护性。

Global site tag (gtag.js) - Google Analytics