「译」Web 开发新手应该知晓的20件事

字节探雪人
• 阅读 1119

注:本文采用意译而不是直译

「译」Web 开发新手应该知晓的20件事

在我当初刚从事 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 项目。

点赞
收藏
评论区
推荐文章
粥白 粥白
4年前
新手怎么学好python?
我就是从零基础开始学的Python,也算是一个过来人了吧,现在看来当初我也是走了许多弯路,来给大家分享一下我的经验吧。首先是最重要的一点,想清楚你为什么要去学Python?你是想要做一个网站,写一个顺手的工具,还是只要能够通过学校的考试就行,这很大程度的影响了你该如何去学Python,学到什么程度或者是你是否该转去学习另一种语言。如果你只是想做一个个人网站或
菜鸟阿都 菜鸟阿都
4年前
electron:桌面应用程序的革命
“ 你也许不了解electron,但你应该了解或使用过atom、vscode、xminzend,没错他们所使用的开发技术就是electon,通过前端技术开发桌面应用程序,刚开始接触electron时,考虑最多的是性能问题,不过作为一个vscode、xminzen重度使用者的我来说,基本上对其性能的担心减少了很多,并且发现了基于vue框架构造electro
编程修养 编程修养
4年前
写给 Linux 初学者的一封信
大家好,我是肖邦。这篇文章是写给Linux初学者的,我会分享一些作为初学者应该知道的一些东西,这些内容都是本人从事Linux开发工作多年的心得体会,相信会对初学者有所帮助。如果你是Linux老鸟,那可能就不需要再往下看了linux(https://imghelloworld.osscnbeijing.aliyuncs.com
Karen110 Karen110
3年前
手把手教你Pycharm远程连接服务器端项目进行本地开发调试!
又有几天没写原创了,这些天都有一些开发任务,所以没很多时间来写文章。在这几天的开发里,我所在的开发环境是部署在centos7的云服务器上。这就有一个头疼的问题,我该怎么开发呢?有些朋友就会说,直接用vim。我想过,但是我技术比较菜还没到那种vim很熟练的地步。刚开始我试了一种方案,本地一套代码,服务器上一套代码。本地编辑然后通过sftp软件上传到服务器上,虽
Stella981 Stella981
3年前
Mac 软件推荐
如果你在使用Mac电脑,并且没有如某些人那样愚蠢地安装Windows系统,那么你可以尝试使用以下一些软件.下面的这些软件都是我自己使用过且觉得还不错的,在这里推荐给大家. 或者可以极大地提高效率或者可以足够装13.(注:这里的软件不一定是软件开发者才会使用到的)Alfredv2这个软件很多文章都在说,我这
Wesley13 Wesley13
3年前
PHP代码审计入门笔记合集(共20篇)
早安,我的朋友们。今天是11月20号,离2021年只41天了,今年你的小目标完成了吗?跟大家分享件事情,其实这几个月来,我一直在准备一场考试,值得高兴的是,就在前两天终于顺利通过CISSP考试,完成了今年的小目标。比起考试通过,似乎很久没有那种专注于想要完成一件事的心情和体验,我只想说,重新捡起丢失掉的专注力的感觉真好。另外,今天分
Wesley13 Wesley13
3年前
mysql查询每个学生的各科成绩,以及总分和平均分
今天看一个mysql教程,看到一个例子,感觉里面的解决方案不是很合理。问题如下:有学生表:!在这里插入图片描述(https://oscimg.oschina.net/oscnet/07b001b0c6cb7e0038a9299e768fc00a0d3.png)成绩表:!在这里插入图片描述(https://oscimg.o
Wesley13 Wesley13
3年前
.NET 文件格式相关开源项目
在过去的2年里,我已确定把文件格式作为我的主要研究课题之一,NPOI就是在这样的研究课题下的产物。尽管从严格意义上讲NPOI只是POI的.NET版本,并不是我创造的,但是在开发过程中,我对OLE2有了深入的理解和认识,也对Office972003的文件格式有了截然不同的认识。如果在过去,有人问我:你知道Office文件格式吗?作为开发人员的我会毫不犹豫的
Wesley13 Wesley13
3年前
mysql商品库存扣减问题总结
文章讨论内容秒杀类的问题一直都是web领域比较热点的问题,一个超高并发的网站需要考虑从产品、前端优化、站点部署及后端服务等等所有环节进行考虑。mysql所能抗住的写压力是一定的,高并发的web站点,你需要在数据持久化之前控制好压力,而不是把所有的请求都落到数据服务这一层。今天我不在这篇文章里讨论秒杀整体设计的问题(我也没这个资格),我们讨论
Wesley13 Wesley13
3年前
ISO27001信息安全管理体系
0x00前言初入甲方,刚开始接触的应该就是ISO27001信息安全管理体系,你拿到的应该就是一整套安全管理类的文档。在甲方,稍微有点规模的公司很注重制度和流程,岗位职责分工明细,那么这些安全管理制度,就是你所能掌控的游戏规则,几个人的信息安全部生存之道。0x01ISO27001简介ISO/IEC27001信息安全管理体系
sum墨 sum墨
9个月前
《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境
大家好呀,我是summo,前面我已经写了我为啥要做这个摸鱼小网站的原因,从这篇文章开始我会一步步跟大家聊聊我是怎么搭起这个网站的。我知道对很多新手来说,建网站可能挺头大的,不知道从哪里开始,所以我会尽量写得简单明了,让大家一看就懂,少走弯路。