`
climber2002
  • 浏览: 63374 次
  • 性别: Icon_minigender_1
  • 来自: 法国
社区版块
存档分类
最新评论

跟国外程序员工作感受123

阅读更多
算上上次出差,来巴黎也有两个多月了,也租到房子了,慢慢适应了现在的生活,现在小记一下与国外程序员一起工作的感受。首先得说下我们公司在巴黎跟La ciota都有分部,不过感觉公司的重心在向La ciota那边偏移,巴黎这边虽然有很多人都从工程师学校毕业(这儿的工程师学校可不是国内的职高,比一般的college都好得多),但是水平感觉比La ciota那边低一些,起码我还没碰到那么多高手级达人。这边可以跟很多国家的程序员一起工作,有法国人,突尼斯人,加蓬人,还有罗马尼亚mm程序员呢。下面分别分一二三点说说感受,

1. 清闲。刚来这里我有时候闲的发慌,浑身不自在,不知道该干什么,项目需求分析做完后我们老大又招了三个外包给我们写单元测试跟集成测试,我向老大提议,单元测试应该是自己来写的,因为这种白盒测试需要很清楚程序的逻辑才行。我们老大一句话就把我给顶回去了:我觉得你的工作量太大了,没有时间写单元测试囧。大哥啊,你给我安排的工作我一般顶多花1/3的时间就做完了,其余时间都不知道干啥,就这工作量还大啊。

2. 细致。不得不说国外程序员还是比国内细致的多。这是我跟许多国外程序员工作感受最深的。他们的程序一般都有很多注释,不过有一点不好的是他们注释喜欢用法语,而且有的变量名也喜欢用法语。我们组三个外包的测试,其中两个跟我打交道比较多,一个是突尼斯过来的博士哥们,一个是一个膀大腰圆的黑哥们,单看外表肯定不会觉得他是个写程序的。博士哥们给我写测试的时候把我的代码认真通读了一遍,设计了很多很多的case,如果我自己写单元测试,有一些隐藏的小bug我肯定发现不了的。这也刺激我多次重构我的代码,挖空心思决心把程序写的像优秀作文一样漂亮,变量名,函数名争取一看名字就知道是啥意思。逻辑复杂一点的地方也都加上注释,总之是比国内认真多了。

3. 自由。法国人最崇尚自由了,这点在工作上也能体现出来,不管工作进度如何,每天的下午茶还有长假是免不了的。这里每年年初每个人就把自己的假期告诉leader,然后leader根据假期来安排工作量,即使项目再紧张,这个假也是雷打不动的。不过这种自由有时也体现在程序上,那个黑哥们,写起程序来那叫一个自由,类里面的成员变量,有的第一个字母大写,有的第一个字母小写。我们那个系统最核心的东东就是Command模式,Command里面有个execute方法,我写每个Command都尽量重构出许多辅助函数方便测试,不过这黑哥们说他就测execute就行了,测了execute就相当于测了所有的函数,我后来看他的测试,我晕,一个无比复杂的测试,一个mock object里面创建出另一个mock object,这分明不是测试程序逻辑而是测试mock objects去了。不得已给他重新写了一个TestCase,他看了说比他的test要good一些。

123先说到这里,456有机会再讲。
分享到:
评论
49 楼 frenchmay 2009-02-23  
john813 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?


貌似你还不太懂重构的意义。能第一遍就写出“好”的代码的人压根还不存在。因为即使最优秀的程序员日后回头看自己当初认为最“好”的代码时,可能也不会满意的。

更何况,很多优秀的库和框架本身就是从原来做项目时的“烂”代码重构出来的。

好的代码应该是简单的,易用的。
servlet就是最好的例子。
48 楼 climber2002 2008-09-30  
pioneer21th 写道
楼主,你的2点和3点是有些矛盾的。
像那些自由的代码,像大写开头的变量不应该重构吗?


看看这里,他已经被fire了,他的代码也重构了。
47 楼 pioneer21th 2008-09-30  
楼主,你的2点和3点是有些矛盾的。
像那些自由的代码,像大写开头的变量不应该重构吗?
46 楼 protti 2008-09-04  
cuiyi.crazy 写道
gigix 写道
刑天战士 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

这话我坚决不同意,就连架构都是靠错误堆出来的……


我就不明白为什么到今天还有人说那样的话
无数人,全球领先的软件组织,都想做一个漂亮架构今后五年都可以顺利扩展
事实证明这种良好的愿望从来就没有实现过


SAP的架子据说几十年没有动过....
如果真是这样的,这个就算了~



根本不是一个级别的,不具备可比性。
45 楼 elimago 2008-09-04  
cuiyi.crazy 写道
gigix 写道
刑天战士 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

这话我坚决不同意,就连架构都是靠错误堆出来的……


我就不明白为什么到今天还有人说那样的话
无数人,全球领先的软件组织,都想做一个漂亮架构今后五年都可以顺利扩展
事实证明这种良好的愿望从来就没有实现过


SAP的架子据说几十年没有动过....
如果真是这样的,这个就算了~


那應該先統計一下幾十年前sap的架子花了多少時間,重構了多少次,
44 楼 elimago 2008-09-04  
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?


沒看過重構那本書麼?
43 楼 elimago 2008-09-04  
fxbird 写道
比如仓库叫SOKO


那是正常的,我们这边有个sb,技术一般因为日语好去日本好几年了,现在也是个小小的决策人,一个远程管理系统,他非在我们设计好的数据库表中加了一大堆的冗余字段,我们问他为什么,他说为了以后在直接手工到数据库里面查看数据方便,靠,当时抽他的心都有了,他tmd又不是计算机,跑数据库里查数据?
42 楼 kimmking 2008-09-01  
5年啊

5年啊


--------------


一整套技术系统恐怕都整个革命了
再“漂亮架构”也是昨日黄花

41 楼 sunway0420 2008-09-01  
lordhong 写道
climber2002 写道
lordhong 写道
国外长假那个爽啊... 法国是4个星期还是8个星期啊?


我们年假是25天,不过法国是每周35小时工作制,如果你每周工作40小时的话,可以每年多出来10天年假,所以是35天。

日啊... 爽死了...  
美国年假10天... 每周起码40小时... 不能比啊不能比...


法国也不是所有的地方都清闲的, 也要看公司跟职位了,我们上班到晚上8点9点的日子也不少。
40 楼 cuiyi.crazy 2008-08-10  
gigix 写道
刑天战士 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

这话我坚决不同意,就连架构都是靠错误堆出来的……


我就不明白为什么到今天还有人说那样的话
无数人,全球领先的软件组织,都想做一个漂亮架构今后五年都可以顺利扩展
事实证明这种良好的愿望从来就没有实现过


SAP的架子据说几十年没有动过....
如果真是这样的,这个就算了~
39 楼 perrywky 2008-08-10  
什么公司这么爽啊
38 楼 xzj127 2008-08-10  
顶 。。期待 !
37 楼 achun 2008-08-09  
好,我要争取在本地也达到这种工作环境.
36 楼 chinata 2008-08-08  
john813 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?


貌似你还不太懂重构的意义。能第一遍就写出“好”的代码的人压根还不存在。因为即使最优秀的程序员日后回头看自己当初认为最“好”的代码时,可能也不会满意的。

更何况,很多优秀的库和框架本身就是从原来做项目时的“烂”代码重构出来的。

那要看你怎么定义这个“第一遍”,如果你的第一遍是指第一遍敲出的代码,那你是对的(传说knuth可以写代码一次编译通过,但是那个不是我们讨论的范围)。但如果你说的是第一遍指第一个跑通功能的稳定alpha的话,我觉得平常我的alpha版本的代码质量就很好啊:)
还真以为代码可以改好啊,重构的毒太深了吧。你去把自己5年前写的代码拿出来试着改好一下?要改啊,不是让你重写啊,你不相信就去试一试。重构的目的是让你可以在更低的代价下“重写”代码,而不是改代码。
每个人回头看自己的代码都是不满意,这不奇怪。问题是,改得更好吗?什么是更好?重写会更好,我是相信的,但是可以改的更好,lol。你这里说的改,很大程度上改得是设计,而不是代码。如果真能改的更好,就不会有那么多开源框架就无法向回兼容了。
设计级别的重构,是有可能提高质量的,但是较低的代码和类结构级别,如果第一遍写了一坨屎,那差不多反映水平了,难道有时间写第二遍就不是一坨屎了?难道写个复杂的功能,1个小时和10个小时写出来的会有什么本质区别,也许有些人会有区别吧,但是我觉得即使这样,也不建议他们浪费这个时间。
写程序和做设计,是个非常依赖本能和直觉的事情,就好像你做选择题,当最后不能确定答案是B还是C的时候,再怎么挣扎也是没用的。
35 楼 cuiyi.crazy 2008-08-08  
climber2002 写道

1. 清闲。刚来这里我有时候闲的发慌,浑身不自在,不知道该干什么,项目需求分析做完后我们老大又招了三个外包给我们写单元测试跟集成测试,我向老大提议,单元测试应该是自己来写的,因为这种白盒测试需要很清楚程序的逻辑才行。我们老大一句话就把我给顶回去了:我觉得你的工作量太大了,没有时间写单元测试囧。大哥啊,你给我安排的工作我一般顶多花1/3的时间就做完了,其余时间都不知道干啥,就这工作量还大啊。


这个赞啊;这个羡慕啊;
34 楼 huangyonghy321 2008-08-08  
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

第一遍就写出好代码?当兄台接到本应一个星期做出来的东西却让你一天做出来的时候,不知你能写出什么样的代码?你说这话让我想起小时候老师跟我说的一句话,一篇好文章是改出来的。用在代码上我相信也是一样的道理,“代码越改越烂”不敢苟同。
33 楼 john813 2008-08-08  
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?


貌似你还不太懂重构的意义。能第一遍就写出“好”的代码的人压根还不存在。因为即使最优秀的程序员日后回头看自己当初认为最“好”的代码时,可能也不会满意的。

更何况,很多优秀的库和框架本身就是从原来做项目时的“烂”代码重构出来的。
32 楼 gigix 2008-08-08  
刑天战士 写道
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

这话我坚决不同意,就连架构都是靠错误堆出来的……


我就不明白为什么到今天还有人说那样的话
无数人,全球领先的软件组织,都想做一个漂亮架构今后五年都可以顺利扩展
事实证明这种良好的愿望从来就没有实现过
诸如chinata这样的言论究竟是出于想当然的猜测呢还是他自己的美好憧憬呢?
31 楼 刑天战士 2008-08-07  
chinata 写道
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?


这话我坚决不同意,就连架构都是靠错误堆出来的……
30 楼 chinata 2008-08-07  
ccxw1983 写道
如果给我多些时间,我也会写的很好,多重构几次的。
可是……
没有足够的休息,也没有足够的精力写出有艺术性的代码。

没有什么好代码是改出来的,代码只会越改越烂。
需要学习的第一遍就写出好代码,只有基础良好的代码才有机会改得更好,你见过啥好代码是作者从烂代码改了几十遍改出来的?
没有什么代码是有艺术性的,设计也许还勉强能和艺术搭上边,代码的艺术性是啥?

相关推荐

Global site tag (gtag.js) - Google Analytics