代码大全2札记:构件决策

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/43114563 让工程师选择自己熟悉的编程语言编写,这样效率比同等经验使用不熟悉编程语言的工程师效率要提高30%。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/43114563
  1. 让工程师选择自己熟悉的编程语言编写,这样效率比同等经验使用不熟悉编程语言的工程师效率要提高30%。
  2. 编程约定,在之前的对日外包项目中,他们很重视代码编写的约定俗成,他们会整理出各种行之有效的规则让每一个工程师遵守,而我当前所处的团队因为成员开发能力参差不齐,加上没有充足的前期准备工作,导致一个项目中存在多种不一样的编码风格,着实让人头疼。
  3. 深入一种语言去编程(programing into a language),要敢于在当前编程语言的基础上去做出一些调整的规则,比如说,使用spring开发Java项目时,我们使用NameMapper.java作为数据库连接的接口定义,二使用NameMapper.xml作为mybatis和mysql的sql定义的xml文件,这样使得我们的代码项目趋于规范。
  4. 构建实践的checklist:
    • 编码
      • 多少工作要在正式编码之前进行,比如在编写正式webservice之前去调查webservice的实现方式
      • 规定注释、代码格式等编码约定,我想在接下来的Java项目中,我首先要把eclipse的注释格式推广为一种项目必须的风格(包含常用快捷键、一行代码最多有多少字符、代码之间的注释风格等等)。
    • 团队工作
      • 定义一套集成工序-比如说提交SVN时,不能什么注释都不写,不能随意就提交代码,提交代码之前必须经过调试,必须要先更新等等
    • 质量保证
      • 程序员必须为自己的代码进行功能性测试和业务型测试
      • 程序员必须会自我review代码
    • 工具
      • Java项目必须使用SVN进行版本控制
      • Java必须使用1.6的JDK版本,包含运行环境(我之前在正式环境下部署项目时就深受其害,因为JDK的编译版本和运行版本不一致导致)
      • Javaweb项目在选用一种框架后,必须要坚持用下去,虽然赶得上潮流是我们要拥抱变化,但是要懂得熟练的掌握一种框架远比使用新框架要值得去做
  5. 不要为一种语言限制自己的思维跳跃。
  6. 根据科技浪潮的实时变化去调整工作计划和目标,假如你开发的项目所使用的工具或者技术已经被时代淘汰,那么要积极做出改变,比如说mysql的5.7版本已经提升了大幅度的性能,如果你还在使用5.1版本,那么你的项目就要被淘汰了。
目录
打赏
0
0
0
0
134
分享
相关文章
如何提升代码质量,重构并非“万能药”
随着编程技术的不断进步,编程语言变得越来越高级,功能封装也越来越完善。各种技术都在帮助程序员提高编写代码的效率。通过层层封装,程序员似乎不需要了解技术细节,只需逐行翻译需求内容即可。 许多程序员不了解如何组织代码、提升运行效率以及底层基于的原理是什么,但是他们编写的代码通过了编译、测试,并且在上线运行了一个月而没有出现问题,似乎并没有对他们的实际工作产生明显的负面影响。
从任务混乱到井然有序,协作工具如何改变团队基因?
春节后开工,团队从假期状态快速切换至高效协作并非易事。本文探讨了如何选择既能提升效率又能保障数据安全的协作工具,特别是私有化部署方案,助力不同规模团队新年高效启航。文中分析了协作工具的核心价值,包括任务透明化、流程标准化、数据资产化和决策敏捷化,并推荐了几类协作工具,如轻量级任务管理、全链路项目管理和文档协同工具。同时,针对金融、医疗等行业的特殊需求,详细介绍了私有化部署的优势,如数据主权自主、定制化权限管理、性能稳定保障及长期成本可控。最后,提出了选择协作工具的三大评估维度:安全层级匹配、功能延展性和用户体验。用对工具,让“开工大吉”不止于口号,为全年目标实现奠定坚实基础。
「软件项目管理」软件项目范围计划——需求管理与任务分解
该文章详细介绍了软件项目范围计划中的需求管理与任务分解技术,包括需求获取、分析、编写、验证、变更管理的过程,以及任务分解的方法和实践,旨在帮助项目管理者有效地控制项目范围和推进项目进展。
「软件项目管理」软件项目范围计划——需求管理与任务分解
仓储设计实现问题之提出仓储的建模时要从问题空间角度看待如何解决
仓储设计实现问题之提出仓储的建模时要从问题空间角度看待如何解决
43 1
程序员必备的软技能-金字塔原理拆解(上)
程序员必备的软技能-金字塔原理拆解(上)
308 1
程序员必备的软技能-金字塔原理拆解(下)
程序员必备的软技能-金字塔原理拆解(下)
200 0
软件测试面试题:试述软件的概念和特点?软件复用的含义?构件包括哪些?
软件测试面试题:试述软件的概念和特点?软件复用的含义?构件包括哪些?
126 0
UI 自动化测试应不应该投入?有没有前途?怎样做最明智?
![](https://ceshiren.com/uploads/default/original/3X/4/a/4a59ac8dba217173b9abe7f8e8dd4d661b3a367e.jpeg) 昨天发布了《实战| UI 调度自动化测试平台(基于 Python)》文章之后,看到不少测试同学吐槽自己公司的 UI 自动化测试效果差而维护成本高,就是一件劳民伤财的集体活动。经常也会有同学问
没有测试驱动开发、重构、简单设计及结对编程的敏捷只是虚有其表
  与过去 70 年间大多数程序员的做法相比,本章描述的实践有着根本的区别。它们强 制进行大量的分钟级甚至秒级、深刻的、充满仪式感的行为,以至于大多数程序员初次接 触时都会觉得荒唐。于是许多程序员做敏捷时尝试去掉这些实践。然而他们失败了,因为 这些实践才是敏捷的核心。没有测试驱动开发、重构、简单设计及结对编程的敏捷只是虚 有其表,起不到作用。   测试驱动开发是一个足够复杂的话题,需要一整本书才能讲完。本章仅仅是一个概览, 主要讨论使用该实践的理由和动机,而不会在技术方面进行深入的讨论。特别说一下,本 章不会出现任何代码。   程序员是一个独特的职业。我们制造了大量文档,其中包含深奥的技术
177 0
项目重构,我是如何优化大量屎一样的 if else 代码的?
  目录:   if else策略模式1、首先抽象业务处理器2、将业务处理器和其支持处理的类型放到一个容器中,java里Map就是最常用的容器之一3、定义不同的处理器4、测试类   前段时间,我将公司系统中的批量审单的功能进行了重构,用到了java的并发编程进行异步化处理,数据库的乐观锁机制处理多线程并发更新数据。   其中批量审单的业务处理涉及到多种任务类型,对应不同的业务方法进行处理,比如转仓,转快递,添加赠品,删除赠品,拆分订单,批量驳回,批量作废等等,其中就用到了策略模式。
283 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等