论坛首页 编程语言技术论坛

Rails程序开发的最大问题是代码规范

浏览 33171 次
精华帖 (8) :: 良好帖 (16) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-28  
liuqiang 写道

刑天战士 写道
作为一个和老板战斗了1年多的人,我给你点经验:

1.Don't only make suggestion, come with a solution:


你在说我吗,哈哈,所以我说,与其民主,不如遇到一个开明的君主,您瞧瞧,这又开始折腾CMMI了,我觉得我又要读下jack写的“如何在不规范的公司里生存”这篇文章了……



jack说的没错,应该先是自己成为一把手(Team Leader一类的),然后按照我上面说的一步一步来。其实,大多数公司都存在管理问题(国内公司),要想生存,必须适应环境。适应了环境,才能改变环境。
0 请登录后投票
   发表时间:2008-08-28  
老刑的建议很好,谢谢
其实打工就是这样,很矛盾,明明自己没什么权力,但又这也看不惯那也看不惯
有些时候还是别把自己太当回事儿
刑天战士 写道
作为一个和老板战斗了1年多的人,我给你点经验:

1.Don't only make suggestion, come with a solution:
   每次想提建议的时候,提出一个解决方案。要合理的,不会对系统造成巨大影响的。

2. 每次提建议的时候,请用正规的方式:Email and so on.别用口头的形式,因为人家会认为你不重视。把为什么提出这个建议,系统中的问题(要有代码段一类的),改进后的效果(同样要有实际的东西)写清楚。语气要诚恳,让人家知道你是为了公司着想。

3.争取在出现问题的时候提建议,效果会更好。
4.无论老板多么傻X,别生气,说话别提高声调,尽量稳住情绪。(这点我做的很不好。)如果无法快速交流请练习口语。

0 请登录后投票
   发表时间:2008-08-28  
语言风格的问题,建议模仿你们正在用的框架的语言风格,完全一致是不可能的,不过大家都尽量往那个方向靠近,这样就可以了。
0 请登录后投票
   发表时间:2008-08-28  
ltian 写道
如果,没有核心的框架,没有服务的概念,各个层次对象之职责划分不清晰,哪些服务该在哪个层次暴露没有规范,哪个层次的服务可以调用哪那个层次的服务没有规范,那么很难形成统一的编码风格。语言灵活之后问题更加突出。语言灵活不是产生问题的根本原因。就是都用Java开发也会弄出五花八门的程序风格来。

至于CSS,JS,以及其他资源文件目录不统一这是在概要设计时就应设计的东西。不是很难的问题。

系统很大,模块所提供的服务方式各不相同,服务之间调用困难,数据库事物很难协调,沟通困难,看起来像是管理问题,实质还是是技术问题。这是做大系统都要遇到的问题,建议楼主看看SCA、SDO规范,这两个规范主要的就是解决这些问题。

根本的问题在于构架设计,而不是语言问题。当然这些问题也不是靠减少平均代码行数来解决。在基本的体系构架没有建立之前,因为没有足够的规范和标准,就通过代码走查来发现问题和试图解决问题就会导致开发者和走查者之间的各种冲突矛盾,于事无补。


其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到
0 请登录后投票
   发表时间:2008-08-28  
hideto 写道
其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到

你想一件事情,以前到铁匠铺瓷器铺学徒的那些小孩,他的规范是什么?他的机制是什么?
现成的经验摆在面前要去学的。
0 请登录后投票
   发表时间:2008-08-28  
gigix 写道
hideto 写道
其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到

你想一件事情,以前到铁匠铺瓷器铺学徒的那些小孩,他的规范是什么?他的机制是什么?
现成的经验摆在面前要去学的。


模仿?模仿前人的作品?
0 请登录后投票
   发表时间:2008-08-28  
jack 写道
gigix 写道
hideto 写道
其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到

你想一件事情,以前到铁匠铺瓷器铺学徒的那些小孩,他的规范是什么?他的机制是什么?
现成的经验摆在面前要去学的。

模仿?模仿前人的作品?

师傅带徒弟。手把手的教,眼对眼的看。言传身教,不立文字。
其直接结论就是,烂师傅教不出好徒弟。
必须充分认识到人类两千年来得到的这一经验的正确性,从而杜绝对所谓规范和流程的不切实际的幻想。
0 请登录后投票
   发表时间:2008-08-28  
未免太天真了点,光靠程序员自觉是不行的,你以为程序员都跟你写的程序似的一成不变?
ltian 写道
hideto 写道
ltian 写道
如果,没有核心的框架,没有服务的概念,各个层次对象之职责划分不清晰,哪些服务该在哪个层次暴露没有规范,哪个层次的服务可以调用哪那个层次的服务没有规范,那么很难形成统一的编码风格。语言灵活之后问题更加突出。语言灵活不是产生问题的根本原因。就是都用Java开发也会弄出五花八门的程序风格来。

至于CSS,JS,以及其他资源文件目录不统一这是在概要设计时就应设计的东西。不是很难的问题。

系统很大,模块所提供的服务方式各不相同,服务之间调用困难,数据库事物很难协调,沟通困难,看起来像是管理问题,实质还是是技术问题。这是做大系统都要遇到的问题,建议楼主看看SCA、SDO规范,这两个规范主要的就是解决这些问题。

根本的问题在于构架设计,而不是语言问题。当然这些问题也不是靠减少平均代码行数来解决。在基本的体系构架没有建立之前,因为没有足够的规范和标准,就通过代码走查来发现问题和试图解决问题就会导致开发者和走查者之间的各种冲突矛盾,于事无补。


其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到


我说的意思不是说单靠监督机制或者设置一个角色就能解决这些问题。你所说的这些问题,其本质还是技术问题。直白地说,如果你用RUBY语言实现SCA和SDO规范,作出一个二次开发框架或者平台(当然一个这样的平台或许不够),然后再在这个框架及平台上进行开发应用系统,那么形成开发规范就是很自然的事情了,只要培训之后,开发者会很自觉的遵守。这样,即简化了开发,又使团队按照同样的规范进行开发,那么你的问题就解决了,监督机制也有章可循了。否则,仅仅设立一个监督的角色,要么是开发者同Supervisor吵架,要么是Supervisor,独裁一切,开发者郁闷。

假如你的老板对你增加Supervisor这个角色的建议表示赞同,并对你说:很好,你来做吧,把这个事情给我搞好。
你将如何能够做好呢?



0 请登录后投票
   发表时间:2008-08-28  
ltian 写道
gigix 写道
jack 写道
gigix 写道
hideto 写道
其实想说的就是一种监督机制,类似于一个Supervisor,规定这种指责并赋予权限
规范这种东西可以慢慢归纳总结,但是缺乏Supervisor这种角色的机制,这样有规范也不行,执行力达不到

你想一件事情,以前到铁匠铺瓷器铺学徒的那些小孩,他的规范是什么?他的机制是什么?
现成的经验摆在面前要去学的。

模仿?模仿前人的作品?

师傅带徒弟。手把手的教,眼对眼的看。言传身教,不立文字。
其直接结论就是,烂师傅教不出好徒弟。
必须充分认识到人类两千年来得到的这一经验的正确性,从而杜绝对所谓规范和流程的不切实际的幻想。

请教一下,您如何评价福特开创汽车生产流水线这一现代工业生产体系呢?

有兴趣的话你就去看看大野耐一的书,看看福特请日本人做了些什么,看看现代工业生产体系到底是怎么在运转
0 请登录后投票
   发表时间:2008-08-28  
ltian 写道
gigix 写道
有兴趣的话你就去看看大野耐一的书,看看福特请日本人做了些什么,看看现代工业生产体系到底是怎么在运转

说实在的,我没时间去看。没有规范不知道计算机界向什么方向发展,也许微软,SUN、IBM的规范之争都是毫无意义的。

既然你没时间看,我也没时间跟你解释
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics