如何做一名合格的程序员

经过 20 多天的工作,CorpsX Event 0716 活动页面的开发终于在高考前接近尾声。坦率地讲,这是我接过的最大型的项目。在此之前,我只会在学到一个新技能的时候写一些最基本的程序练手。但经过这段时间的实践,我才体会到什么叫做真正的“前端开发”。

以下是我总结出来的,作为一名合格的程序员,你必须具备的素质:

良好的沟通与理解能力。很多甲方在布置需求时并没有精确到每一个 feature,只是大致地做出一个规划。此时你要多去沟通,将需求具体化。对于甲方无法明确的地方,参见下一条。

创造力。虽然你是在按照甲方的需求制作一个项目,但是你有没有想过去融入这个团队,不只是按部就班地写代码,而是与甲方共同思考、共同去创造和优化一个 feature?在日本,很少有只会写前端代码的人,更多的是身兼设计与编程二职。如果你能为你正在贡献的项目想到一个很棒的 idea 并提供给甲方,那么你在团队中的地位应该会提升不少。

不捏造需求。程序员在学习编程过程中会遇到很多别人编写的优秀的开源程序,然后迫不及待地想要在自己的项目中加入类似的功能。喜欢动手尝试的心情可以理解,然而不能因为一时的冲动而为这个项目添加了不必要甚至是不和谐的功能。开发程序要从实际需求出发,寻找可以解决需求的代码,而不要把自认为高大上的代码强行插入。

相信问题一定会被解决的信心。有时候,需求的提出者并没有学过编程。他不会和你共同分析一个功能的实现原理,只会根据自己曾经见过的一些例子去描绘一种功能。当你并不熟悉某个功能的实现方法时,不要慌张。你要相信,只要是人类能想到的 feature,就一定可以通过程序来实现!在敲代码之前,不妨先在纸上(或者 OneNote 里)把这个 feature 拆解成多个部分(比如说把一个长动画拆解成多个基本的运动,就像做高中物理题那样),然后照着你的图纸逐步编写程序。

纵观全局。在努力设计一个小细节的同时,别忘了考虑页面上的其他元素,确保元素之间不会发生冲突。

有一点强迫症。时常回顾项目中的全部代码,看看有没有哪一种模型被重复写过,或者有没有哪些代码在对应的功能被删除后还没有清理干净。对于可能重复调用的功能,尝试去设计一组循环,或者把这些程序整理成一组函数,方便日后复用。

劳逸结合。在临睡前突来灵感时工作到凌晨一二点是很多创意工作者经历过的事,然而充足的睡眠亦可帮助你在工作时更高效地获取灵感!