可以使你成为更优秀程序员的5个好习惯
我们都希望能够在我们所做的事情中得到成长,在WEB开发领域,我们花费时间最多的就是编写代码。这可能包括HTML, CSS, JavaScript, PHP, Python, ActionScript或者任何其他你构建WEB站点时选用的语言。
这篇文章中,我们将分享一些实际的步骤,使你可以扩充技能,成为一个更优秀的程序员。我们提出五个不同的生活习惯,它们可以使你在你所从事的领域变得更加优秀。
1. 一个时间段内只专注于一种类型的语言
如果你正在设计或开发网站,你将需要同时熟悉多种不同的语言。你可能会想同时学习所有的这些语言,特别是考虑到它们是如何相互关联的。
我想,在某种程度上,这是不可避免的。但如果你真的想快速提高,我建议你专注于一个特定领域的专业知识。你想更好地利用CSS?把你的重点放在这一点。尝试使用一个单一的HTML文档只使用CSS实现不同的布局。CSS Zen Garden 是一个使用相同布局实现不同页面样式非常棒的例子。你也可以通过查找元素的列表,并把精力集中在里面。举个例子来说,你熟悉CSS2,但想提升对CSS3的理解,你可以学习CSS3属性并逐一的实现它们。你可以阅读当前的CSS3规范,还可以通过每个模块的学习来了解它在浏览器上能(或不能)做什么。
对于脚本类的语言如JavaScript和PHP,你也可以用类似的方法,虽然对它们的函数进行这样的操作有点乏味。另外一种选择是选择一个教程来学习,特别是对于你工作中需要的方面。
你想对WordPress 开发更加精通?有太多相关的教程了。想要了解更多关于服务器端图像处理的操作吗?也有很多的教程。找到它们,添加书签,并逐步学习。
选择一个,并坚持下去,直到你掌握了它,然后移动到下一个。
2. 通过注释来写逻辑
说到编码,我有坚持很多原则和想法。其中一个就是,代码中95%都是逻辑。另一个就是从人类语言到编程语言,逻辑并没有改变。
这也就是意味着,如果你能在代码中写出来,也就可以用英语或者其他语言写下来。
例如,假设我想根据一天中的时间来锁定或者解锁某个东西。我们可以先退一步,用简单的英语注释先把逻辑写下来,而不是直接编写函数代码。
例子:
// FUNCTION: Lock On Time // This function will accept two time values, indicating the range through // which it should return an unlocked status. // Create a new data object // Using the data object, get the current time // IF the current time falls within the range passed to the function // Return false – meaning that we are currently unlocked // ELSE // Return true – meaning that we are currently locked. // ENDIF // END FUNCTION
这里我们列出来函数完整的逻辑结构,这就类似于我们建造房屋时的蓝图。现在开始我们就可以根据注释的引导来编写实际的代码了。
很显然这是一个比较简单的例子,但我在实现复杂的函数时也经常使用这种技术。通过这种方式,我可以在编写函数之前先考虑好完整的逻辑。我发现这是一个非常有价值的习惯,它可以使你犯更少的错误。
我很少会删除注释,在注释中写逻辑同时也意味着我已经为代码写好了文档,它使得别人很容易就能理解我的逻辑,甚至对于过了几个月或几年以后返回来查看代码的自己也是这样。
3. 学习模版、插件和开源的代码
网络是一个非常开放的地方,尤其是在开发社区中。这为想成为优秀程序员的人提供了非常宝贵的资源。
例如,你刚刚接触HTML,你可以从网上下载无数免费的模版,因为这些模版通常只是纯HTML(以及CSS和JavaScript),所以它们可以在本地运行,给你提供了学习这些代码很好的机会。学习其中的标签和结构来更好的理解它们,修改下样式表看看会发生什么。
当然,我强烈建议你阅读一些有关标准和最佳实践的资源,你肯定不想自己养成坏的编码习惯。
这对于学习JavaScript和PHP等更有用,它们的范围和逻辑相比HTML、CSS等更复杂。
例如,WordPress这样的内容管理系统,就是完全使用不同的PHP脚本编写的函数组成的。同时,它还支持对核心函数进行扩展,允许你下载安装各种非常酷的插件。WordPress 和它的插件的好处就是它们都是完全开源的,你可以完整的浏览它们的源代码。
关于这个习惯的最后一点忠告:永远不要只是使用别人的代码结构,你应当确保自己理解了它们,而不只是模仿别人的代码。要考虑代码是否符合特定语言的流程和标准,这也有助于让你避免养成坏的编程习惯。
4. 读书
虽然网路上各种博客中都有很多有用的信息,但我仍觉得这并不如阅读一本相关主题的书好。博客可能是关于特定主题的文章或者教程,而不像书那样可以帮你建立起对于特定主题强大的基础的理解。
我从上世纪90年代末到21世纪初我一直使用 table 布局,直到我厌倦了它们,那时我才意识到是时候使用 DIV 布局了。然而在那时,我只是尝试使用正确的标记,而没有完全理解CSS选择器的语法这已DIV 布局中非常重要的一部分。因此,我并不了解伪类,整个特异性和继承的概念对我没有意义,定位和浮动的概念也是这样。
现在,我从各种博客的信息中东拼西凑慢慢学会了该语言(其实我可以花费更少的时间),对CSS有了更全面的了解。这需要花费很多的时间,而我又有工作要做,所以我一直在寻找一个更恰当的解决方案。
所以我买了Charles Wyke-Smith写的Stylin’ With CSS这本书。这是一个启示。短短的几章内容就让我理解了CSS的基本概念。所有我之前不知道的,都以很好的组织方式教会了我。大概只需要一天的时间,我就获得了与从各种博客中需要花费几周甚至几个月时间获取到的相同的知识。
当然,从那开始我学到了很多CSS的知识,但这本书真的我让我学会了了CSS的入门基础知识,至今我仍把它放在书架上作为参考。
如果你想从零开始学习一门新的技术,通过一本书来学习肯定是最好的选择之一。
5. 实践
最后,我建议你养成的习惯就是乐趣。坐下来,看看靠你自己能够完成什么样的东西。
目前,CSS3是一种流行的趋势,不同的程序员试图推动技术,你可以发现其真正的能力。下面是一些例子:
当然,这些CSS有些并不完全实用,其中最著名的可能就是纯CSS实现的Twitter fail whale illustration,这耗时间吗?是的。这实用吗?并不。但它肯定很有趣,并且可以证明CSS是如何的强大。
你可以进行什么样的编码实验?它是一个有趣和有效的方式来学习。
结语