你是否发现,在我们身边的那些优秀程序员身上总是能找到一些共同的特质,这些特质并非与生俱来,但却逐渐在他们身上留下深深的烙印,这也使得他们变得与众不同,更成为我们心目中的佼佼者。
至少深入理解一门编程语言
学习编程和学驾驶很像,你很容易就能学会驾驶,比如,经过一个月的驾校培训,你就能获得驾照,但要真正成为一名优秀的司机,却必须经过长时间的驾驶实践才行,这将帮助你在头脑中形成一套完整意识体系以应对驾驶中所遇到的不同情况。编程也是一样,当程序员们作出那些优秀的程序设计时,看似自然,但它的背后却是程序设计者们经过长时间编程实践之后所构建起来的编程思维。
优秀的程序员不仅熟练掌握一门编程语言的语法和语义,他们还会
掌握这门语言的使用哲学,包括那些最佳实践、设计模式以及它们背后所蕴含的原则
深入理解语言的特性,每一门语言都有各自的特性,而很多新的特性还会被不断加入到语言的最新版本之中,充分了解这些特性,能够帮助程序员更准确、高效地使用它们
了解语言的局限,任何程序语言都会有其局限性,这会让我们在解决某些问题时产生麻烦,我们需要了解这些限制,并知道如何使用一些方法或技巧去绕过这些限制并解决问题。
理解语言的缺陷,有些语言在设计之初就存在一些先天不足,比如JAVA语言中的日期处理,那些原始数据类型,可能会给你带来一些疑惑,了解这些缺陷,并尽可能在编程中避免涉及这些缺陷,会让你的程序在日后更易于维护。
了解语言的未来,有些编程语言如新生儿般茁壮成长,如Swift、Go,有些则如青壮年般看上去年富力强,比如Java、PHP、Python,而有些则已进入暮年,不再受到