关于编码轨范
关于编码规范
有一天在电梯里,听到两个同事在讨论编码规范的问题
一个同事的意思是,规范是个P,要写有个性的代码,这样才能体现出自己的技术能力.
当然我想大部分人和我一样,对此持不同看法,这位同事应该是个新手,孰不知技术能力不仅仅是体现在代码写的有多另类,而且还有设计思路以及考虑问题的全面性,让这样一个同事去开发企业应用是件很危险的事情.
代码写的好,我认为应该包括
公司里新人比较多,相比一些成熟的外企比如ebay来说,还是太嫩,一般来说,越大的公司越靠自律
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
在真正的项目中用e.printTrackTrace(),你老大会拿刀杀了你。。
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。
规范的代码是必须的,这样代码才可以积累,否则你写的代码都是一次性的,永远没有沉淀。
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?
敏捷开发呀,并不是一味的息写代码呀。写之前不是有串讲的么!
有一天在电梯里,听到两个同事在讨论编码规范的问题
一个同事的意思是,规范是个P,要写有个性的代码,这样才能体现出自己的技术能力.
当然我想大部分人和我一样,对此持不同看法,这位同事应该是个新手,孰不知技术能力不仅仅是体现在代码写的有多另类,而且还有设计思路以及考虑问题的全面性,让这样一个同事去开发企业应用是件很危险的事情.
代码写的好,我认为应该包括
- 古人说的好,可扩展性,可测性
- 一般人都了解的代码规范,比如不用e.printTrackTrace()之类
- 不仅仅是你和上帝看的懂,也要让其他人可以通过代码了解你的思路.
- 简明扼要
- 不滥用设计模式
- 合理利用工具和资源
- 合理控制性能
- 要考虑多线程
公司里新人比较多,相比一些成熟的外企比如ebay来说,还是太嫩,一般来说,越大的公司越靠自律
1 楼
weirddun
2011-06-23
接手一个编码不规范的项目会死人
2 楼
hs598375774
2011-06-24
代码不规范看到就想拿刀去砍人啊。。。
3 楼
xiangkun
2011-06-24
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
4 楼
wanbin021614
2011-06-24
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
5 楼
hs598375774
2011-06-25
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
在真正的项目中用e.printTrackTrace(),你老大会拿刀杀了你。。
6 楼
ordinary
2011-06-25
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
7 楼
catastiger
2011-06-25
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
8 楼
yonghong915
2011-06-25
是有点复杂的。但这确实是一个项目的规范。只有有个很好的规范,项目的质量才能有保证。
9 楼
nirvana1988
2011-06-25
e.printTrackTrace()也可以输出到错误日志中,并不是只能输出到console里面啊。难道大公司提倡的是用log4j??
求解!!
求解!!
10 楼
leibos
2011-06-25
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。
11 楼
zhu_chen001
2011-06-25
leibos 写道
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
是扯远了,不要以为在大公司就了不起,也没必要扯什么TDD,说事就说事。你们那么多人,经过那么多流程,本身就和TDD思想背道而驰。
规范的代码是必须的,这样代码才可以积累,否则你写的代码都是一次性的,永远没有沉淀。
12 楼
vision2000
2011-06-25
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?
13 楼
catastiger
2011-06-25
vision2000 写道
catastiger 写道
ordinary 写道
wanbin021614 写道
xiangkun 写道
一般人都了解的代码规范,比如不用e.printTrackTrace()之类
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
为什么?? LZ可不可以说说理由啊??
我们一直都在用这个,查日志比较好查。。。!!
这个只是打日志到console里面,要是想看昨天的日志 怎么办呢 调试的时候当然可以这么干
不会啊!看你日志是怎么设置的。我们连你用print的都能打到文件中去
哥们,到大公司里呆下吧,这些不能这样写的。e.printTrackTrace()是直接通不过检查的。写代码前要先能功能的串讲与反串讲,这个阶段PD,PM,测试MM,开发一般都要参加的,通过后就是表设计,类图设计,然后给几个同事项目经理REVIEW下,OK了才可以写代码。写代码呢,一般人是先写实现,我们现在用的是TDD(测试驱动开发)是先定义接口,然后写测试代码,然后写实现。呵呵,不说TDD了,是有点烦的。
写代码一般有一个统一的规范模板文件,写出来的东西大家都差不多长的一个样。这个过程,除了日志,还要考虑if else圈复杂度,变量的使用,异常的处理,然后线程以及事务的控制。如果用了代码模板,就可以格式化下代码就行了,很快。还有整个代码不会多引一个包,不会出现import xxxx.* 的情况。否则检查是通不过的。完成后就是跑单元测试,对于外部接口可以用EasyMock,单元测试OK,覆盖率要达到80%以上,然后就是给别人做code review,不要忘记了提交测试前还要进行白盒黑盒的扫描,安全测试是必要的
呵呵,好像是扯远了点!
一些列的东东做完,拿给客户一看,说,这不是我们想要的,然后loop
能折腾死人,有木有?
敏捷开发呀,并不是一味的息写代码呀。写之前不是有串讲的么!
14 楼
shoushou2001
2011-06-25
编码设置、类文件模板、日志和异常处理机制、单元测试(Junit/Mock)、检查工具(PMD/FindBugs/Checkstyle...)、Code review、个人良好的编码习惯...很多很多
15 楼
getclass
2011-06-26
不要让你的代码有异味
16 楼
yin_chinawitsky
2011-06-27
曾接手过一个无规范采编系统,真的想死