a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 98|回复: 1

[程序员] 每个程序员必须知道的12件事情:坚持学习

[复制链接]
发表于 2012-8-2 08:51:15 | 显示全部楼层 |阅读模式
敏捷个人针对的是每个希望进行自我管理的人,那么针对与每个程序员,我们应该知道的有哪些呢? 本篇分享一下我们程序员应该知道的12件事情。   充满激情6 o* ~" l  H: B: g, j& k# w- d
  喜欢正在做的事情:这也是在如何招到聪明又能做事的人讲到的要有技术热情,你有热情才会喜欢你的技术; i4 B+ w, t0 e, J
  有创造力的:创造力体现在你会创新,创新一方面可以来自你的全新创造,也可以来自于他人基础之上,敏捷个人 - 我是这么理解方法论的中我对方法论的态度就是:不排斥、不迷恋,积极尝试,为我所用。
+ \( j! g1 N: b# j8 J7 [; B  想做得最好:内在驱动力,追求卓越的一种价值观
. z1 N, {, ~$ O) i  L8 ]* m9 Z  比昨天更好:我们很多人其实都希望每天都能感觉到进步,我以前每天都要看书,因为每次看书学到新知识之后我就会感觉有点进步,虽然很小,但是这一直让我觉得很好0 |* B3 N7 Y3 ]- E+ \
  喜欢你的代码
% w7 S" Y' A. a" B  为自己和他人写代码,而差劲的程序员为机器写代码:如果连自己都看不懂的代码就根本不能维护,如果别人看不懂的代码,那就不能交流,而只为机器写代码,那只有一种可能,那你也是机器
$ P, y! H0 i- H  每个程序员喜欢与干净的代码在一起:很些程序员有代码洁癖,看到不符合代码规范、或写的不好的就会强迫自己去修改,即使没有这么强烈的要求,也会表现出对不干净代码的反感- U8 A( O2 o2 Q  O& X& R: M; s% I
  版本管理
4 ?; E+ o4 d9 c4 G& F7 N: i  备份你的代码:现在已经没有人不对自己的代码进行版本管理了. v( i, p4 q, [  J
  追溯更改(who、when、what):从log可以清楚知道谁在什么时候改了什么,这在有时候需要查看历史信息时很重要. C" p8 ?# @- R" k, E; v
  并行工作:每个人都可以做自己的工作,做好后集成就好了$ Y% V  h/ m; M. B" _$ E6 p& f9 b
  经常提交:一般我们完成一项工作,并通过单元测试后就会提交代码,这是一个好习惯4 ~( L: {* D8 }+ b$ D+ C  W  }5 b* m
  构建失败时不提交:在提交之前编译一下、跑一下单元测试,有问题就不要提交,否则影响整个项目7 S" `& i, w, `2 w
  读代码+ q/ x4 C& |0 ]* U6 {1 v' Q
  在成为好的写代码的人之前,要学会成为一个好的读代码的人:有人问我如何学习,我就会推荐他们去读一些好代码
& j2 X8 t; O# ?/ v9 G4 O  程序员的工作时间,70%读代码,30%写代码:每天程序员也就写个一两百行代码,大部分时间都在思考和看代码了
* S7 K8 c! x. Q/ U  练习、练习、再练习* ]' U! C- W. q! d. K+ T1 A" \
  针对独立的问题进行小练习:把大问题拆成可以独立解决的小问题,针对小问题单独做一些小练习,逐个击破
' O5 G# g* y  C- v  在工作之外的项目中练习:每个人都希望工作都能让自己每天进步,但有时环境并不会这么理想,你可能在做维护项目,或者你做的内容更像例行公事,那么你可以在工作之外的项目进行练习,能结合将来工作需要去练习则是更理想的路径
3 o  b+ y0 F4 ^% M7 E  在没有压力尽自己所能去做:适当压力是动力,但是千万不要给自己太大的压力,在压力承受范围内尽力去练习可以获得较好的结果3 \$ a1 Q* M0 F
  练习成为专家:不断练习,1万个小时之后你就是专家
回复

使用道具 举报

 楼主| 发表于 2012-8-2 08:51:16 | 显示全部楼层

每个程序员必须知道的12件事情:坚持学习

重构   在不改变系统行为下改善代码的质量:重构的前提1 A1 _) E. L; j( _# y
  使代码变得容易理解、维护和扩展:重构的目的. U* c4 Q/ L! Q6 N/ q' ]* Q: ?) F
  每次签入时是都比签出时更干净:重构的目标4 s, Q. r4 i/ y8 u" c! _
  小方法、组合方法......:重构的技术
5 _  S5 o. N) v$ s  遵守模式和最佳实践
5 w- q0 \( r7 u' P9 m+ [4 q3 v7 \7 Z  SOLID
7 z6 c2 B" d+ S/ H, g& k- p  GRASP
+ }4 V  E8 f" \! B( ~' e  DRY
3 I  d7 |( a6 L% I' g4 g" f; T  KISS5 h, E$ E$ r. H" N; K
  设计模式
" p1 d- Q  s" _. F* b$ V# u  TDD/BDD
5 e1 D" [4 ?( g1 x2 z# T; A- }# B- W" d$ j  是一个设计流程3 B& c5 A' y' x' V5 K3 C) h7 z
  只写足够的代码通过测试
0 O  F1 \  F# h: g9 Z( a6 ~  自动化
9 ~7 [4 x. i! o0 J$ P  使手工任务自动化1 C6 C% F6 P$ L2 F5 o; {* C
  命令行是你的朋友3 D; h% a4 V1 \) x2 C
  持续集成
0 l: ~% O0 _5 a9 V, `) e+ I9 d/ b; d  自动部署
9 l' Y, Q& W5 b5 t& L+ Z: }6 v  明白你的领域
0 r  T" a( }+ K: k. k& q! `  特定的领域不会马上过时,而技术会:企业架构框架-TOGAF.pdf 业务分析与需求.pdf; U. q2 D* ?; H4 K+ ]1 q3 W
  你只有明白它是如何工作的才能够实现好
+ n. m$ B/ M0 n  [  持续学习
1 r; K9 u0 c. C( D: o$ A) }  你需要不断地学习,保持竞争力:个人管理 - 学习=知识+实践+思考+心态  c) ?( g/ U  J5 ~( h/ _
  做最差的人:如果你现在是团队最差的人,那么你的进步将是最大的,因为你可以学的是最多的。我是不是也该去找一个让自己觉得很菜的团队呢!?
! w& r5 R1 r( @) S5 ?  读书、blog、网站+ o' D$ W  J2 T/ l
  善用好工具:工欲善其事必先利其器,好的工作会让自己效率倍增
- L, R0 U' v* q: I' k  善于沟通2 `0 I4 N# b( v1 L0 [
  教或者说是学习最好的方式之一:这个我觉得大家都应该去尝试一下,从我个人经验来看,教和说真的可以让自己学习更有效
$ e5 |! p, ^4 y  加入一个研究或学习小组  j. B* v5 K: E, ]$ l# i8 v
  加入开源社区
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 09:11 , Processed in 0.381692 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表