标题: [转帖]成为编程高手的八大奥秘 [打印本页] 作者: god 时间: 2005-3-31 01:21 标题: [转帖]成为编程高手的八大奥秘 世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 4 B: X6 ]0 R3 e( T, Y1 f' j* h2 A' `- X! k
1、扎实的基础 7 ?# E& p) e% ^9 a" ]* z0 H. w/ J4 r7 [' f+ b2 H
& |4 D1 C9 i. k' ? 数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。 , ^, {: Y" |' ]6 e) R! C. \: i
/ H: _- S7 m1 O e/ n
6 O: Y' ^5 |- {5 k' \! G - b- {+ x% F) B; R5 A2、丰富的想像力 - Y, N* n" c6 o5 j) Q$ e6 b) i3 j: p' |' }2 U. i4 k
! J* `" j- p. x! G* @0 @& r* I8 I& D. E: |
- L; y; G; C& a9 G% n. S! T+ r
不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。 7 _! o" c& T8 y: s3 S
$ D7 W! d7 U4 S9 g5 c) u
. B2 c0 B* W0 @
: j0 L0 ^7 b/ L( z2 K' `# H3、最简单的是最好的 8 E1 z3 f$ K8 Y8 f3 C
; W6 m) x1 c, N5 w7 U3 V& j0 U& O$ p1 Q% ]; E* `
$ H4 z+ H# Y- f( z 这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 . y% t) p9 J5 o
: h! V+ i1 [# T; y: b
8 _" ]" [' K7 g( U! h0 Z) x, D0 [" {, @# N
4、不钻牛角尖 3 D- P6 {) x+ S5 P5 y' b; F & n/ }; _/ y: V$ s+ H) }& v# A5 y1 {# r' f3 Q
$ N' _2 D: D. ~, j3 N/ B0 v) A1 n
当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 d5 a% |: _! R# h7 X3 u( J: W, ^/ @6 T$ a6 e5 @4 q
( k( r. d$ q H4 t1 I0 w
5 [$ S6 R$ O6 d- E$ y9 @
5、对答案的渴求 1 Y z' o* O; O- E6 M' X
. ~8 A7 G( t1 H. T2 `: P
& M3 i4 F* M& U' u5 X
5 L% w1 v; c( N* y4 I
人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。 F# o$ e. R2 |
: |' e! P% z, R
" k: f# f5 l& o/ H! N
/ o5 V4 {& B# e5 x' e- O
6、多与别人交流 : V0 r7 S7 I/ S8 j) r1 T( D
2 ^+ |. w2 X, T9 I4 ]
# h: H6 I9 U, R* V+ K# |, V+ b" a