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

关于编码规范

阅读更多
有一天在电梯里,听到两个同事在讨论编码规范的问题
一个同事的意思是,规范是个P,要写有个性的代码,这样才能体现出自己的技术能力.
当然我想大部分人和我一样,对此持不同看法,这位同事应该是个新手,孰不知技术能力不仅仅是体现在代码写的有多另类,而且还有设计思路以及考虑问题的全面性,让这样一个同事去开发企业应用是件很危险的事情.

代码写的好,我认为应该包括
  • 古人说的好,可扩展性,可测性
  • 一般人都了解的代码规范,比如不用e.printTrackTrace()之类
  • 不仅仅是你和上帝看的懂,也要让其他人可以通过代码了解你的思路.
  • 简明扼要
  • 不滥用设计模式
  • 合理利用工具和资源
  • 合理控制性能
  • 要考虑多线程


公司里新人比较多,相比一些成熟的外企比如ebay来说,还是太嫩,一般来说,越大的公司越靠自律
分享到:
评论
16 楼 yin_chinawitsky 2011-06-27  
曾接手过一个无规范采编系统,真的想死
15 楼 getclass 2011-06-26  
不要让你的代码有异味
14 楼 shoushou2001 2011-06-25  
编码设置、类文件模板、日志和异常处理机制、单元测试(Junit/Mock)、检查工具(PMD/FindBugs/Checkstyle...)、Code review、个人良好的编码习惯...很多很多
13 楼 catastiger 2011-06-25  
vision2000 写道
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去

哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!



一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?


敏捷开发呀,并不是一味的息写代码呀。写之前不是有串讲的么!
12 楼 vision2000 2011-06-25  
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去

哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!



一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?
11 楼 zhu_chen001 2011-06-25  
leibos 写道
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去

哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!

是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。

规范的代码是必须的,这样代码才可以积累,否则你写的代码都是一次性的,永远没有沉淀。
10 楼 leibos 2011-06-25  
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去

哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!

是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。
9 楼 nirvana1988 2011-06-25  
e.printTrackTrace()也可以输出到错误日志中,并不是只能输出到console里面啊。难道大公司提倡的是用log4j??

求解!!
8 楼 yonghong915 2011-06-25  
是有点复杂的。但这确实是一个项目的规范。只有有个很好的规范,项目的质量才能有保证。
7 楼 catastiger 2011-06-25  
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去

哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
6 楼 ordinary 2011-06-25  
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干



不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
5 楼 hs598375774 2011-06-25  
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干




在真正的项目中用e.printTrackTrace(),你老大会拿刀杀了你。。
4 楼 wanbin021614 2011-06-24  
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!



这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
3 楼 xiangkun 2011-06-24  
一般人都了解的代码规范,比如不用e.printTrackTrace()之类

为什么?? LZ可不可以说说理由啊??

我们一直都在用这个,查日志比较好查。。。!!
2 楼 hs598375774 2011-06-24  
代码不规范看到就想拿刀去砍人啊。。。
1 楼 weirddun 2011-06-23  
接手一个编码不规范的项目会死人

相关推荐

    开发编码规范

    以下是关于编码规范的一些关键知识点: 1. **命名规范**:良好的命名能够直观地反映出变量、函数、类或文件的作用。例如,使用有意义的英文单词或组合,避免使用缩写和单个字符。对于变量,采用小驼峰式命名;类名...

    javascript 编码规范

    文中还提及了Chryler在其博客中关于编码规范的一条建议:“确定开发团队共同遵守一份编码标准”。这一观点实际上是在讨论编码规范的必要性及其在团队中的作用。尽管Chryler提到编码规范并非如许多人所强调的那样至关...

    软件编码规范收集.pdf

    从提供的文件内容中,我们可以看到一些C/C++代码片段,以及一些关于编码规范的指令和注释,这里包含多个重要的知识点: 1. **代码格式化**:从提供的内容中可以看出,编码规范对于代码的格式化有一定的要求。例如,...

    PEP8Python 编码规范

    这实际上是有关代码国际化和本地化的问题,不过,原文提到的“将Python的英文编码变成中文的数据规范”并不准确,因为PEP8本身并不直接涉及语言的转换,而是关于编码风格的约定。不过,如果是要编写中文的注释,应当...

    C++编码规范.doc

    以下是 C++ 编码规范中关于版面的规则: * 规则 1-1: 程序块要采用缩进风格编写,缩进的空格数为 4 个。 * 规则 1-2: 对齐与缩进只使用空格键,不使用 TAB 键。 * 规则 1-3: 函数或过程的开始、结构的定义及循环、...

    C# 编码规范 编码规范文档

    ### C# 编码规范详解 #### 一、关于本文档 **1.1 目的** 本文档旨在为C#编程提供一套统一且规范化的编码标准,通过这些规范能够帮助开发者提高代码质量,增强代码的可读性和可维护性。 **1.2 读者及应用范围** ...

    关于一些编码规范

    ### 关于一些编码规范 #### 一、概述 本文档主要介绍了前端开发中常见的编码规范,包括命名规范、注释规范以及接口规范等几个方面。这些规范旨在提高代码的可读性和可维护性,适用于HTML、JavaScript及CSS/SCSS等...

    CERT编码规范中文版

    cert编程规范中文版,囊括了所有的有关于cert编码规范的内容

    华为软件开发编码规范和范例

    4. **软件编码规范**:这不仅仅关于编程语言的语法,更是关于如何写出高效、可扩展、易于理解的代码。规范可能包含错误处理策略,如何时使用异常,如何报告和处理错误;数据结构和算法的选择;以及如何利用设计模式...

    Android编码规范[参照].pdf

    关于编码规范,项目遵循Android和Java的官方编码规范。变量命名上,非公有、非静态变量以m开头,静态变量以s开头,其他变量以小写字母开头。常量使用全大写加下划线的风格。类、接口和方法的命名也应遵循一定的规则...

    企业级Java编码规范

    尾声部分则包含了作者简介、特别声明、学习交流、关于JavaDoc的介绍以及参考资料等内容,为编码规范的完整性和应用提供了进一步的支持。特别是JavaDoc部分,介绍了常用的JavaDoc标记和JavaDoc命令的使用,帮助开发...

    PHP语言的编码规范

    命名约定是编码规范中的核心部分,它直接影响到代码的可理解性和可维护性。在PHP中,类名的设计应当反映出其存储的文件结构,这遵循了PEAR命名约定的原则,使得通过类名即可推测出其所在文件的位置,例如`Zend_Acl_...

    华为内部编码规范和范例

    在IT行业中,编码规范是确保代码质量和可维护性的重要基石。华为作为全球知名的科技巨头,其内部的编码规范和范例对于开发者来说具有极高的参考价值。这份名为“华为内部编码规范和范例”的资料,旨在提供一套有效的...

    c# 编码规范和范例打包下--包括华为编码规范和范例

    本资源包包含了多个关于C#编码规范和范例的文档,旨在帮助开发者形成良好的编程习惯,提高代码的可读性和一致性。 首先,"C#编码规范.doc"可能是一份详细的C#编程规范文档,涵盖了变量命名、注释、类设计、错误处理...

    集成编程环境与编码规范

    ### 集成编程环境与编码规范 #### 实验目的 本实验旨在让学习者深入了解并熟练掌握PHP、.Net、JAVA三种主流编程语言的集成编程环境及其编码规范。通过本实验的学习,学习者不仅能够熟悉这些编程语言的基础知识,还...

    编码规范用于VB开发

    ### 编码规范用于VB开发 #### 一、概述 编码规范是软件开发过程中不可或缺的一部分,它确保代码的一致性、可读性和可维护性。本文将深入探讨Visual Basic(VB)开发中的一套实用编码规范,涵盖IDE设置、命名约定、...

    阿里巴巴编码规范AS工具插件

    阿里巴巴编码规范AS工具插件是Java开发者遵循高质量编程标准的重要辅助工具。该插件名为"Alibaba Java Coding Guidelines",版本为1.0.5,旨在帮助开发人员在使用IntelliJ IDEA或Android Studio等集成开发环境(IDE...

Global site tag (gtag.js) - Google Analytics