注:本文采用意译而不是直译
在我当初刚从事 web 开发的时候,有很多重要的事我并没有事先了解。现在看来,我的很多期望都和现实有很大的差距。在这篇文章里,我会告诉你 20 件事情,这些都是在你准备开始或者刚开始 web 开发不久的时候就应该知晓的。这有助于你更好地正视自己的期望,同时少走一些弯路。
1.编程和学位无关
编程可以随时开始,并不需要学位。在互联网上你可以找到很多资源,尤其是一些基础知识。你完全可以自学编程,同时求助于互联网。
2.谷歌是一项技能
刚开始学习 web 开发的你并没有足够的知识可以解决当前遇到的问题,这很正常,但并不意味着你不能解决这些问题。学会谷歌是一项重要的技能,可以帮助你节省大量时间。
3.不要什么都学
有太多东西要学了。单看 JavaScript 的流行框架,就有:React,Vue 和 Angular。你没办法学习所有的框架,并且也没有这个必要。你只需要专注于你喜欢的或者公司目前使用的框架即可。
4.最难的事是写简单的代码
很多没有经验的开发者会写一些花里胡哨的代码,以此向其他开发者炫耀自己的编码能力。请务必不要这么做,你应该尽可能地保持代码简洁。
5.没有时间做测试
根据我的经验,开发者对测试工作比较懈怠。大部分的开发者都觉得测试环节不是很有趣。毕竟,你是来制造东西的,不是来破坏东西的。
大部分时候你都会和截止日期做斗争。一旦意识到所剩时间不多,第一件应该放弃的事就是测试。尽管大家都知道这可能会导致不好的结果,但的确是这样做的。
6.时间预估总是不准确的
软件开发中的时间预估通常都是不准确的。对于一个小小的功能,你会觉得一小时内就能搞定,但是当你查看代码后,你会发现:要想实现这个小功能,必须重构大量代码。这样看来,一小时绝对是搞不定了。
7.回看旧代码是一件尴尬的事
刚开始从事开发的时候,你想做的只是修复一些东西。只要代码可以运行就够了。对于那些缺乏经验的开发者来说,可以运行的软件和运行良好的软件没有差别。但随着你成长为一名真正意义上的开发者,你将不得不面对以前写的旧代码,然后心想:“这些面条式代码真的是我之前写的吗?”好吧,在这种情况下你只需要做一件事:好好嘲笑一番,然后重构一下这些乱糟糟的代码。
8.你将花费大量时间查看 bug
调试代码是你的一个主要工作。写出完全正确的代码是不可能的,尤其是在你经验尚缺的时候。缺乏经验的开发者之所以需要花大量时间去调试,是因为他们不知道应该查看哪里,有时候他们甚至不知道应该找什么。最糟糕的是,大部分时候,这些 bug 是你自己造成的。
9.IE 是最差的浏览器
Internet Explorer,又名 Internet Exploder,将会让你由衷厌恶自己书写 的 CSS。即使是最基本的样式,在 IE 浏览器中也会崩掉。很多时候,你都会疑惑为什么会存在这么多不同的浏览器。对于浏览器的兼容问题,大多数公司采取的做法是只支持 IE11 或者更新的版本。
10.服务器一关,你就可以休息了
忙活了一天后,开发服务器或者版本控制服务器最后会关闭。如果你不是在本地写的项目,那你就没办法继续手头的工作了。这时候还是喝杯咖啡休息片刻吧。
11.你会假装自己理解了同事所说的东西
同事可能会和你聊聊最新的技术或者工具,虽然你频频点头以表赞同,但事实上你并不理解他说的那些东西。
12.你不需要记住所有的东西
编程就是知识的应用,没有必要记住所有的东西。你随时可以在网上找到资源,只需要知道去哪里找就可以了。做项目、积累经验,这些东西自然就记住了。
13.成为一名成功的问题终结者
最重要的是,你要有足够的创造力。编程说白了就是解决问题,同样的问题可以用多种方式解决。创造力有助于你更轻松有效地解决问题。
14.多阅读
你的大部分时间将花费在阅读上。从各种途径阅读并了解新的技术、最佳实践、工具等,时刻关注业界最新动态。当然,也不要忘了多看书。总而言之,阅读可以扩大你的知识面,做到与时俱进。
15.响应式布局很烦人
尝试让你的网站适配所有的设备是一件很烦人的事。设备和浏览器的种类数不胜数,总会有某一台设备的某一个浏览器无法正常显示你的网站。
16.学会调试可以节省大量时间
调试很耗时间,尤其是在你不知道应该查看哪里、查看什么的时候。了解代码运行机制并掌握调试工具的使用,可以帮你省下大量时间。如果你希望提高自己的调试能力,你可以了解开发者工具在浏览器中是如何工作的。
17.你得到的回答不一定能解决你的问题
当遇到一个无法解决的难题时,你可能会求助于谷歌。大部分时候,你会在诸如 StackOverflow 这样的论坛得到有建设性的解答。但更多时候,只靠复制粘贴这个回答并不能解决你的问题。这时候,你的问题解决能力和创造力就显得尤为重要了。
18.好的 IDE 可以让你的代码生活更加愉快
在开始编程之前,你应该花时间找一款不错的 IDE。免费的也好,收费的也好,好的 IDE 将会让你的代码生活更加愉快。IDE 可以做到语法高亮,也可以展示语法错误。大部分 IDE 还提供了各种定制插件。
19.使用终端可以提高效率
如果你之前习惯通过用户图形界面(GUI)工作,那么在刚转为使用终端的时候可能会觉得不知所云。终端是一个强大的工具,可以比图形工具更快地完成任务。你应该学会熟练地使用它。
20.不要重复造轮子
当你想要创建一些功能特性的时候,你应该先查看一下 GitHub 上是否已有类似的轮子存在。针对你想要创造的这个功能,可能早就有流行且稳定的库了。多看看一些文档友好且更新活跃的项目。如果你想要新增或者重写项目的功能,你可以选择创建 PR 或者 fork 项目。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。