[CPyUG] 关于代码的规范和管理

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG] 关于代码的规范和管理

fuyu0123456789
最近有一个同事离职了
把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
不知道有人了解吗?这个系统是自己写的?还是有现成的?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

Luo Jiesi
自己制定代码规范,做好code review

2011/10/2 fuyu0123456789 <[hidden email]>
最近有一个同事离职了
把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
不知道有人了解吗?这个系统是自己写的?还是有现成的?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
luojiesi@zju

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

feiping tu
我们公司的代码管理使用svn,bug和项目管理系统采用jira,将两者结合起来,可以很好的看到每次提交的记录和代码。
当然,还有一个就是要养成好的习惯,每次提交修改了什么地方,都需写一下。

不过,问题这么晚才看出来,楼主公司的管理还是很有问题耶~~

在 2011年10月2日 下午1:47,Luo Jiesi <[hidden email]>写道:
自己制定代码规范,做好code review


2011/10/2 fuyu0123456789 <[hidden email]>
最近有一个同事离职了
把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
不知道有人了解吗?这个系统是自己写的?还是有现成的?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
luojiesi@zju

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
From 涂飞平
tufeiping AT gmail.com


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

机械唯物主义 : linjunhalida
In reply to this post by fuyu0123456789
这个属于交接没有做好. 这个同事也是马虎, 代码也不看看就接手了.

2011/10/2 fuyu0123456789 <[hidden email]>:
> 最近有一个同事离职了
> 把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
> 一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
> 不知道有人了解吗?这个系统是自己写的?还是有现成的?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
        http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

段洪义
呵呵,如果是java中静态语言这个比较好分析,eclipse就有这样的插件,比如可
以使用codestyle和findbug结合起来。
如果是python可以使用pylint

另外程序员都有一个毛病:“前人们的代码总是写的很烂”其实很多的烂代码都是有
原因的。



于 2011年10月02日 22:52, 机械唯物主义 : linjunhalida 写道:
> 这个属于交接没有做好. 这个同事也是马虎, 代码也不看看就接手了.
>
> 2011/10/2 fuyu0123456789 <[hidden email]>:
>> 最近有一个同事离职了
>> 把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
>> 一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
>> 不知道有人了解吗?这个系统是自己写的?还是有现成的?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
        http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

Shell Xu
In reply to this post by fuyu0123456789

在旅游中,回的晚了,不知道有没有火星。
代码自动检查工具是有的,例如c的lint,python的pylint。我建议每次提交前都用这个检测一下,但是不一定要修正所有的错误和警告,对修正代码混乱也没有任何帮助。之所以检测一下,有两个目地。一方面,可以知道一下被检测器列为需要注意的例子,为什么不能这么干,这对提高水平很有帮助。另一方面,可以检测一下自己是否有一些比较愚蠢的错误。python是动态语言,错误一般是运行时才会发生。为了将代码错误隔离在小段,有两个方法。语法检测和单元测试。pylint可以看作一个进阶的语法检测工具,部分错误就直接提示出来了。
至于为什么没用,道理很简单,代码既不会检测你是否正确实现需求,也不会检测你架构是否设计合理。大部分代码混乱,都是来自不合理的假设和架构。明明普通继承就好了,为了语法漂亮,写成算符重载和继承。本来调用时多一句语句,说明文档写清楚就好的事情,结果写成多重继承。当第一个碰到第二个,那就是悲剧。这些事情pylint不会管你。
至于不当的使用了全局,代码大量重复,pylunt更不会管。这些事情基本只有代码规范,review,还有质量抽查了。

From galaxy

在 2011-10-2 下午1:25,"fuyu0123456789" <[hidden email]>写道:
> 最近有一个同事离职了
> 把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
> 一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
> 不知道有人了解吗?这个系统是自己写的?还是有现成的?
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug
> http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re:Re: [CPyUG] 关于代码的规范和管理

fuyu0123456789
明白
受教了!


在 2011-10-04 21:17:13,"Shell Xu" <[hidden email]> 写道:

在旅游中,回的晚了,不知道有没有火星。
代码自动检查工具是有的,例如c的lint,python的pylint。我建议每次提交前都用这个检测一下,但是不一定要修正所有的错误和警告,对修正代码混乱也没有任何帮助。之所以检测一下,有两个目地。一方面,可以知道一下被检测器列为需要注意的例子,为什么不能这么干,这对提高水平很有帮助。另一方面,可以检测一下自己是否有一些比较愚蠢的错误。python是动态语言,错误一般是运行时才会发生。为了将代码错误隔离在小段,有两个方法。语法检测和单元测试。pylint可以看作一个进阶的语法检测工具,部分错误就直接提示出来了。
至于为什么没用,道理很简单,代码既不会检测你是否正确实现需求,也不会检测你架构是否设计合理。大部分代码混乱,都是来自不合理的假设和架构。明明普通继承就好了,为了语法漂亮,写成算符重载和继承。本来调用时多一句语句,说明文档写清楚就好的事情,结果写成多重继承。当第一个碰到第二个,那就是悲剧。这些事情pylint不会管你。
至于不当的使用了全局,代码大量重复,pylunt更不会管。这些事情基本只有代码规范,review,还有质量抽查了。

From galaxy

在 2011-10-2 下午1:25,"fuyu0123456789" <[hidden email]>写道:
> 最近有一个同事离职了
> 把留下来一些代码交给另外的一个同事接管,这不看不要紧,一看吓一跳,代码写的那叫一个烂,混乱不堪!同事花了很久才搞明白代码的来龙去脉。
> 一直听说大公司会有那么一个系统,代码提交时,会检测代码的规范性,通过检查才能提交成功。
> 不知道有人了解吗?这个系统是自己写的?还是有现成的?
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug
> http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: python-cn+[hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

肯定来过
In reply to this post by 段洪义
深以为然,各位当戒之。每个人都是别人,所谓烂代码,很多时候不过是口味不同而已。

在 2011年10月3日 下午9:36,段洪义 <[hidden email]> 写道:
>> 另外程序员都有一个毛病:“前人们的代码总是写的很烂”其实很多的烂代码都是有
> 原因的。

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
        http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

feiping tu
想起了Larry Wall说程序员的三个优点:懒惰,不耐心和狂傲!
这个应该是符合后面两个的~~
但除此外,还得有规范比较好~!

在 2011年10月5日 上午9:59,肯定来过 <[hidden email]>写道:
深以为然,各位当戒之。每个人都是别人,所谓烂代码,很多时候不过是口味不同而已。

在 2011年10月3日 下午9:36,段洪义 <[hidden email]> 写道:
>> 另外程序员都有一个毛病:“前人们的代码总是写的很烂”其实很多的烂代码都是有
> 原因的。

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
       http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
From 涂飞平
tufeiping AT gmail.com


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于代码的规范和管理

lee Alexander
我在想实现一个东西把昨天下班前提交得代码按人收集起来,然后每个成员规定个codereview的任务,每个人的代码都必须经过其余所有人的审核在系统中打钩才能通过,否则这个文件的状态被设置成不能发布。

每个人审核变更代码的时候需要匿名评分,如果评分过低就邮件通知提交这个文件的人。

系统会将有争议的代码变更记录保留下来以供将来在代码评审的会议中讨论。

这个系统应该适应10人以下的敏捷团队,当然系统并不能保证代码质量一定提高,只是为团队以供一个评审代码并提高代码质量的一个手段而已。

在 2011年10月5日 上午10:07,feiping tu <[hidden email]>写道:
想起了Larry Wall说程序员的三个优点:懒惰,不耐心和狂傲!
这个应该是符合后面两个的~~
但除此外,还得有规范比较好~!

在 2011年10月5日 上午9:59,肯定来过 <[hidden email]>写道:

深以为然,各位当戒之。每个人都是别人,所谓烂代码,很多时候不过是口味不同而已。

在 2011年10月3日 下午9:36,段洪义 <[hidden email]> 写道:
>> 另外程序员都有一个毛病:“前人们的代码总是写的很烂”其实很多的烂代码都是有
> 原因的。

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
       http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
From 涂飞平
tufeiping AT gmail.com


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug
http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html