标题: [转帖]成为编程高手的八大奥秘 [打印本页] 作者: god 时间: 2005-3-31 01:21 标题: [转帖]成为编程高手的八大奥秘 世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 - C4 B+ K% V4 ^6 x4 d/ _1 x 1 E4 M7 o+ w1 G A: H! n; {4 M* @1、扎实的基础 ! n Q5 t3 C, U# X
: f4 e N5 i$ Y% R8 G8 G0 Q C$ E9 L: B0 q, ?6 e$ |
数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。 ' }9 Z" a% u- B" R& e' ~ $ Y: N/ s+ x5 `# i2 o: _ ' e5 e' C' G% O& z* T" J8 f4 L# J" l; a
2、丰富的想像力 " j' O7 @( F0 ]' P2 R; k8 _8 t- i. g4 v2 b1 ?
2 y# q. T/ q f
" L9 j+ a1 U, _9 C6 C8 F
不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。 * a2 F5 c' }. k9 N0 z4 C# m3 m0 s" {- Z
4 Q U: V0 ~$ R& F( a, W& {
; D3 T) a. E. l! E( H9 K6 t3、最简单的是最好的 8 @% A4 X+ d5 E1 ? r" f" T8 [1 [) ~- c
% h2 a; V6 }( V$ c: F3 W( o% G- n) M) r1 f h
这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 & u- m8 h$ v3 j7 { u
% B: c$ ~: |- J# r
7 v8 M; E, J$ P$ L) a # C) l6 P/ K; E- U* A _4、不钻牛角尖 6 E1 A) K, x4 q2 t, M
, b5 x( }& ]8 W( R, s3 A' U
+ @7 }1 ?/ @: q
l% B' Y/ U; b) Q. c, a7 ?/ I
当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 % P% s2 l) t6 `. f9 Z. m8 w8 }# W
0 B' ?* b( T& N, }+ y ! f& x0 C( O+ b 2 e9 X O* Z6 x9 v @( G8 c6 \ 5、对答案的渴求 * F1 u. P5 A) p( f# u * M E$ C* i: p- f$ C3 D, R. ?' @5 q9 ^; }7 f
+ U( y, l0 j/ [8 d# C4 h 6 A- X% X: B( [7 L+ u 三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。 - K. B8 Z( p" T1 C& `, a, r1 | 9 f5 h$ z: C$ W+ H) M 5 u* `$ Z! `1 D5 X$ c( W( P6 e3 H, L- g# r
7、良好的编程风格 ( o1 S+ c1 c, x! @* _$ ~+ ]0 Y
' u9 T: ^; N) ]- m @9 b. z
+ e3 `& |# t) \3 q. a H, ^
5 X p9 _4 D/ Q. l 注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。 V/ s# N' w6 B # |( \: Y* C8 a5 U. B0 M0 I# r. q0 X& T* }7 `8 F+ H
, P% b$ o" @% }- O6 d 8、韧性和毅力 - I& T$ I2 M* K
( h' Q1 I- a: K/ [' W/ V