优秀网站开发者的十个特徵

怎样的习惯或特质,才算得上「优秀」的网页开发者呢?网页开发教学网站 Tutorialzine 创办人 Martin Angelov 写下他心中优秀开发者的十个特徵 1:

1. 充分运用软体框架

就算你程式设计的功力已经登峰造极,依然应该善用网站开发框架。它提供一系列很棒的实务做法以及程式库,让你不必浪费时间多此一举,能够心无旁骛的开发网站应用。此外还有模版、俐落的网址、整合管理、物件关联对映等等免费好康。网页开发框架让你轻鬆管理程式,而且把可能产生的资安问题最小化,所以也许你该考虑好好运用它,Wikipedia 上有完整的 框架列表 供你参考。

2. 使用版本控制

版本控制系统顾名思义,就是让你追蹤修改程式码的过程、比较变动前后差异,与团队成员协作。Git 是现在网页开发者间最流行的系统,而且很容易上手。只需单一的 init 命令,就能把你的专案资料夹转换成软体套件库。经验老道的网页开发者把 Git 的进阶功能摸得炉火纯青,不过菜鸟也能做到——所有整合开发环境都已支援 Git,就算你不熟悉指令,还是欢迎你进入 Git 的世界。

3. 重複利用程式码

很多开发者可能都有这样的经验:一整天浸泡在苦思程式的情境中,自我感觉生产力高昂,没想到偶然花了 30 秒 Google 赫然发现一座程式库里头早有你好不容易建构出来的程式码。多此一举或「NHN 症候群」是开发者经常面临的问题。优异开发者有个特徵是,在亲自动手解决问题前,他们能够搜寻程式库看看是否已有解法,免得浪费时间。每种程式语言都有线上软体套件库,使程式更容易被找到,比如 PHP 的 Packagist、Node 的 NPM、Ruby 的 Gem 等等。

4. 养成自动化测试的好习惯

就算每次重新整理浏览器,网页都顺利运作,也千万不要对自己的程式过度自信,意外永远无法预料也令人措手不及。出色的网页开发者理解,每次程式码变动后都进行自动化测试,是避免状况发生的唯一方法。网页开发框架也许就有内建的测试工具,seleinum 也可以帮助你模拟使用者与网站互动的形式。

5. 重视资安问题

CSRF、SQL 资料隐码攻击、XSS、固定攻击、MITM 攻击这些常见的网路攻击只是冰山一角,对资安有意识的开发者都该警觉。虽然网页开发框架的作者才需要担心这个议题,但你最好还是了解一下,并且知道如何降低威胁,建议你参考这 系列影片 以便入门。

6. 勤做注解

经验丰富的开发者知道,「程式只写一次,却会读很多次」的道理。这就是为何他们总费心为变数与函式命名,并且留下许多注解,就只为了程式码改造为「好读版」。每种程式语言都有约定成俗的注解区块,亦即每个 class 或 method 前面出现的描述。有心的开发者甚至花时间在 wiki 页面或其它文件中纪录 app 的架构与其背后的技术决策。这种文档对团队合作贡献不斐,毕竟成员来来去去,新人加入时若有清楚的注解可参考,才不用浪费时间瞎子摸象。

7. 从零开始架设伺服器

身为一名网站开发者,拥有基本的管理技能能够帮助你在这条路上走得长久。毕竟所有你建立的网站都是在网路伺服器上运作。理解这些事情,有助于你解除问题、设定开发环境,自己架伺服器还可以省钱。此外,这样的技能也能运用在设置部署策略上,透过 FTP 上传资料容易出错也不安全,想学习系统管理,这里有 一系列指南 供你参考。

8. 掌握最新的程式库与工具

网页开发日新月异,每年都有重要的新程式库、自动化工具、建构系统、CSS 框架、预处理器、甚至最终会编译为 JavaScript 的新语言。如果自认是优秀的开发者,就应该随时跟上新浪潮,而且乐于改变,但也不是随波逐流,他们珍惜宝贵时间,视学习为投资。一个程式库应当包含活跃且热心的社群、良好的文件,追蹤 Tutorialzine 的 Twitter 以随时跟上网站开发的最新趋势。

9. 妥善安排时间

成天枯坐电脑前却一事无成无疑是巨大的浪费,出色的开发者懂得规划週计划,把大型任务拆解为一个个小工作,他们从最简单的工作开始,渐进到比较困难的任务,并且加快速度。他们也知道最适合自己的工作场所,有些人在家里最能发挥生产力,有些人喜欢待在办公室,当然也有人偏爱咖啡店或其他公共场域。

10. 保持健康

儘管这个条件看起来有点突兀,不过作为一名开发者,健康的身心与生产力之间通常呈现正相关。我们从早到晚坐在椅子上盯电脑,导致腰酸背痛脖子疼、视力衰退、体重直接上升⋯⋯不过这些身体疾患是可以避免的,比如定时休息、散散步、7 分钟的健身 ,好好睡觉,都能强健你的身心,迎接下一个挑战。

  1. 10 Signs That You Are An Awesome Web Developer↩