代码大全2札记第三波

  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版本,那么你的项目就要被淘汰了。
时间: 2024-10-10 04:59:27

代码大全2札记第三波的相关文章

代码大全2札记第四波

前言:软件架构中的设计一章,主要的point有软件的首要技术使命就是管理复杂度.减少在同一时间锁关注的本质性复杂量.设计是一种启发式过程.好的设计要有迭代.信息隐藏. 设计中的挑战 设计是一个险恶的问题:设计不可能从一开始就是完美的,人们在设计时会不明所以的忽略掉一些重要的问题,从而导致设计最终面对失败. 设计是个了无章法的过程:设计过程中会发生很多错误,但正是设计所需要的. 设计就是确定取舍和调整顺序的过程:设计者的关键工作就是找出发生冲突的特征,进行平衡. 设计受到诸多限制:在进行设计的时候

CSS颜色代码大全

CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 FF0099 BBBBBB FFCC66 FF6666 FF0066 AAAAAA FFCC33 FF6633 FF0033 999999 FFCC00 FF6600 FF0000 888888 CCCCFF CC66FF CC00FF 777777 CCCCCC CC66CC CC00CC 666666

《代码大全2》读后感czz

经老师推荐,买了一本<代码大全2>,花了近3个月的时间看完了,看完后觉得还有很多值得回味的地方,而且每部分之后作者还推荐了不少经典书籍.所以,作个读书心得.全书的主题是软件构建,关于软件构建问题的方方面面均有涉及,共分7个部分,从软件构建前期准备,到语言层的一些问题,再到代码完善,系统考虑以及软件工艺等等.以下分别进行简单说明. 第一部分是打好基础,本部分主要是软件构建前期的工作,以及对一些基本概念的介绍,具体包括如何选择编程语言和构建实践方法,如何理解软件开发的过程.软件开发本质上说就是工程

代码大全阅读笔记03

无论怎么拖也总是要做的,我感觉自己的拖延似乎是毫无意义的浪费时间,我的拖延挤出来的时间都是在干啥,这真是让我反思.好了继续读代码大全,我开始烦了已经,因为它太厚了.过渡工程,这个问题把握好并不容易.一方面,我们希望系统健壮,如果组成系统的各个部分只在最低限度满足健壮性要求,那么整体通常是达不到要求的.软件健壮性不取决于最薄弱的地方,而是等于所有薄弱环节的乘积.构架应该指出每个部分,程序员为了谨慎而宁可做过度工程,还是做出简单的能工作的东西就够了.有些东西是不应该过分花精力的,这个错误我们也犯过,

Dreamweaver网页设计代码大全

Dreamweaver网页设计代码大全Dreamweaver网页设计HTML语法大全由51RGB小编Q群162542073整理分享: 网页设计视频网站链接http://www.51rgb.com/mproductzh.aspx?classid=31 <!> 跑马灯 <marquee>...</marquee>普通卷动 <marquee behavior=slide>...</marquee>滑动 <marquee behavior=scro

代码大全阅读笔记(二)

代码大全这本书只看懂了一部分,现只对最有收获的部分写入笔记里 第七章 创建子程序的正当理由 (1)降低复杂度;(2)避免代码充分;(3)支持子类化;(4)隐藏顺序;(5)隐藏指针操作;(6)提高可移植性;(7)简化复杂的布尔判断;(8)改善性能 对于过于简单的代码写成子程序的两大理由:1 可以增加程序的可读性 2简单程序可能变成复杂程序 1 在子程序层上设计 内聚性强调把一件事做好,不再做其它任何事情这样做的好处是得到更高的可靠性 顺序上的内聚性是指在子程序内包含有需要按特定顺序执行的操作,这些

阅读《代码大全》(第二版)体会小结

这一次阅读了著名的<代码大全>(第二版).全书虽然章节众多,但是主要就是几个大部分,这些部分我大多有一些浅显的了解但还未深入,当然也有一些全新的体验,例如表驱动法.全书内容丰富而详细,我在阅读的其中问题并不是太多,只不过很多的内容都觉得了解的还太浅,需要更多的实践以及阅读去体会.在这里记录下的也就是一些自己的体会,主要是对书中一些论断的不同看法与讨论,大部分是关于面向对象和结构化设计的内容:以及对于全新接触的表驱动法的学习体会. Question 1: “7.1 创建子程序的正当理由”中,提到

JS代码大全 (都是网上看到 自己整理的)

原文 JS代码大全 (都是网上看到 自己整理的) 事件源对象 event.srcElement.tagName  event.srcElement.type 捕获释放 event.srcElement.setCapture();   event.srcElement.releaseCapture(); 事件按键 event.keyCode  event.shiftKey  event.altKey  event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event

核对表:需求(代码大全2)

Checklist: Requirement 针对功能需求  是否详细定义了系统的全部输入,包括其来源.精度.取值范围.出现频率等?  是否详细定义了系统的全部输出,包括目的地.精度.取值范围.出现频率.格式等?  是否详细定义了所有输出格式(Web页面.报表.等等)? 是否详细定义了所有硬件及软件的外部接口?  是否详细定义了全部外部通信接口,包括握手协议.纠错协议.通信协议等? 是否列出了用户想要做的全部事情?  是否详细定义了每个任务所用的数据,以及每个任务得到的数据? 针对非功能需求(质