| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
为什么技术人员包括 leader 都要做 code review6 e$ b4 r' f7 w: C) I* ^% Z 
谚语曰: ‘Talk Is Cheap, Show Me The Code’。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个设计理念,进而产生了一种虚假的安心感—自己的技术并不差。但是,他根本没有去实践这些设计理念,甚至根本实践不了这些设计理念,从结果来说,他懂不懂这些道理/理念,有什么差别?变成了自欺欺人。2 J3 I1 T% F" z0 {4 O& f( d' _ 
 
: k! ^8 f9 O# x8 h7 x代码,是设计理念落地的地方,是技术的呈现和根本。同学们可以在 review 过程中做到落地沟通,不再是空对空的讨论,可以在实际问题中产生思考的碰撞,互相学习,大家都掌握团队里积累出来最好的实践方式!当然,如果 leader 没时间写代码,仅仅是 review 代码,指出其他同学某些实践方式不好,要给出好的实践的意见,即使没亲手写代码,也是对最佳实践要有很多思考。9 k: o3 F5 [/ U/ u: O9 y/ J$ c 
 
" t# w1 |5 X' b/ l+ G0 G为什么同学们要在 review 中思考和总结最佳实践 
  x: o  i/ u5 w/ ^$ v2 l我这里先给一个我自己的总结:所谓架构师,就是掌握大量设计理念和原则、落地到各种语言及附带工具链(生态)下的实践方法、垂直行业模型理解,定制系统模型设计和工程实践规范细则。进而控制 30+万行代码项目的开发便利性、可维护性、可测试性、运营质量。4 P  r. _' ~- Y/ W( J 
 
) ^) t: x- H$ M; S4 t厉害的技术人,主要可以分为下面几个方向: 
8 _5 z4 k; T; ~& R. X  s0 s* i7 V' Q 
掌握很多技巧,以及发现技巧一系列思路,比如很多编程大赛,比的就是这个。但是,这个对工程,用处好像并不是很大。. }* K) M4 z3 W 
 
, `5 \8 ~/ T+ t0 Y$ o6 m2 F! N+ j) I  S领域奠基 
( k/ k0 m0 b3 g) { 
* h; ?+ s6 A# m! C6 B比如约翰*卡马克,他创造出了现代计算机图形高效渲染的方法论。不论如果没有他,后面会不会有人发明,他就是第一个发明了。1999 年,卡马克登上了美国时代杂志评选出来的科技领域 50 大影响力人物榜单,并且名列第 10 位。但是,类似的殿堂级位置,没有几个,不够大家分,没我们的事儿。  @+ C+ C0 N/ l; D  R$ j 
 
1 g7 y. C2 L) N/ `$ s理论研究5 J9 K0 s" K- r0 b, t 
 
9 k6 O9 S4 f5 [% h6 v+ e八十年代李开复博士坚持采用隐含马尔可夫模型的框架,成功地开发了世界上第一个大词汇量连续语音识别系统 Sphinx。我辈工程师,好像擅长这个的很少。( E8 V2 H" T/ M  r& k7 H' Q8 l& h 
 
8 d1 h1 c- c1 O9 D2 Z产品成功 
4 x* q, g0 [$ F4 v4 Z( z! L) E, R 
小龙哥是标杆。% n. p) [5 k6 v) A( k4 g% g+ e8 m 
7 ?2 x& O; D: e4 A 
最佳实践 
) Z* |; y8 ?4 l' k 
2 @& N5 ?2 O/ P这个是大家都可以做到,按照上面架构师的定义。在这条路上走得好,就能为任何公司组建技术团队,组织建设高质量的系统。# Y; t; f! @% s$ l 
 
- ~! J7 c5 m! c6 Z' c& b从上面的讨论中,可以看出,我们普通工程师的进化之路,就是不断打磨最佳实践方法论、落地细节。( I. y, h9 R" @: w 
 
( @/ z: W5 y' p; L; V代码变坏的根源* q: E+ p& h8 P: z( {( e6 s 
在讨论什么代码是好代码之前,我们先讨论什么是不好的。计算机是人造的学科,我们自己制造了很多问题,进而去思考解法。 
) r  l6 y# V; T 
, r8 }" V9 G$ r) t# x" I0 `/ J3 V  T8 P" ^! U6 r 
 |   
 
 
 
 |