12个Web开发工程师会犯的错误,有你吗?

2024-01-16 07:38

本文主要是介绍12个Web开发工程师会犯的错误,有你吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

英文 | https://blog.bitsrc.io/12-mistakes-newbie-web-developers-make-beafb9d8a497

翻译 | web前端开发

当我们不熟悉Web开发时,我们所有人都会犯一些错误。这些犯的错误可以成为我们学习的资源。

今天,我们一起来讨论一下关于Web开发工程师会犯的一些常见错误以及如何避免它们。

现在,让我们开始吧。

1、输入验证不完整

许多新手开发人员误以为只有HTML和JavaScript验证才足以进行用户输入验证。

毕竟,用户是人类,因此他们在填写信息(例如手机号码或电子邮件地址)时可能会犯错误。

这就是为什么开发人员使用前端验证来防止他们犯此类错误的原因。最新的前端框架使实施客户端验证变得非常容易。

因此,大多数时候,新手开发人员仅在客户端进行输入验证。

但是,通过禁用JavaScript,可以轻松地绕过这些客户端验证。因此,也有必要对用户输入实施服务器端验证。

如果你尚未进行服务器端验证,则你的应用将很容易受到诸如SQL Injection之类的黑客的攻击,该攻击在Web应用程序安全风险排名第一。

因此,如果你要接受任何类型的用户输入,请始终确保在客户端和服务器端都进行验证。

由于共享组件是独立使用和维护的,因此双方(客户端和服务器)的开发人员都可以更轻松地维护它们并保持同步。这样可以确保验证规则在两端都相同。

2、跨浏览器不兼容

在大多数情况下,开发过程都有严格的时间表。结果,开发人员在进行测试应用程序时往往只使用一个浏览器。如果你以后有时间在跨浏览器中对其进行测试并解决问题,那没关系。

但是,如果你没有这么多的时间,那么在开发过程中,最好在跨浏览器中测试应用程序。

这是不可以忽略的东西。

你至少要在三款以上的主流浏览器(例如Chrome,Firefox和Microsoft Edge)中测试你的应用程序。同样的页面,在Chrome中没有问题,但是在Firefox中可能会出现很多问题。

所以尽可能的让你的Web应用程序在跨浏览器预览是也保持友好。避免使用特定的浏览器代码。

3、过度使用图书馆

在你的应用程序中,使用许多库会增加分发包的大小,并增加应用程序的构建时间,这最终也会增加页面加载时间。

因此,将许多npm软件包添加到Web应用程序时要小心。如果你可以花很少的时间编写代码,同时可以替代库能完成的工作,则一定避免使用库,手写源码。

使用库时,请注意上次提交日期以及该库具有的GitHub star数量。如果是不维护库,在应用程序中使用它,可能会有安全漏洞,存在安全隐患。

大多数开发人员使用库,是为了让工作变得更轻松,但请记住,有时它们会使难度变得更大,因此,请明智地选择它们。

4、从一开始就不遵循响应式设计

新手开发人员经常会犯的另外一个错误,就是开发之初就没有考虑其Web应用程序的响应式设计。

根据需求,不同的应用程序可能具有不同的断点,并且必须在开发过程的开始时确定。

有了移动优先,将为你后面的开发需求打下基础。并且有了响应式开发设计,有助于加强平板电脑和台式机的设计。移动优先设计消除了不必要的用户界面装饰并改善了用户体验。

5、跳过图像优化

优化图像大小对于减少Web应用程序的带宽使用至关重要。想象一下,你的主页有五个图像,每个图像都在5MB或更大。如果用户没有足够时间等到该页面全部加载完的话,这些潜在的客户,就会随之损失。

将SVG用于徽标,图标和简单图像,而不要使用JPG或PNG。你可以使用许多免费的在线工具来优化JPG和PNG图像,因此请不要跳过图像优化。

6、忽略技术搜索引擎优化

许多新开发人员都忽略了对其开发的网站或Web应用程序进行搜索引擎优化(SEO)。这可能是由于缺乏SEO技术知识或缺乏开发时间。但是忽略它是一个很大的错误。

大多数用户使用搜索引擎查找网站。因此,从客户的角度来看,SEO非常有价值。因此,如果你以开发人员的身份忽略了SEO优化,则该网站将在搜索结果中排名以下,并且客户将不满意。

作为Web开发人员,你需要从开始构建Web应用程序的那一刻起就开始考虑SEO,而不是等到它的结束时,才开始考虑SEO优化。否则,可能会导致大量不必要的返工。这里有一些提示,供你在开发时遵循,

  • 确保网站架构可爬

  • 优化网站以缩短加载时间

  • 使用智能反向链接

  • 保持对W3C编码的验证(你可以使用W3C标记验证服务)

  • 消除重复的内容

  • 使用图片添加alt标签

7、过多的手动测试

开发人员不应浪费宝贵的开发时间来进行手动测试。手动测试不可重复使用,并且很无聊且耗时。作为一个新手,你很有可能最终会进行过多的手动测试。相信我,当你一次又一次填写相同的表格时,你会很快感到沮丧。

自动化测试用例的初始设置可能会花费一些时间,但是一旦自动化测试,你就可以在任何地方重用它们。这也增加了你对自动化测试过程的信心。你可以使用CI / CD管道和预提交挂钩来进行自动化测试并提高开发和测试效率。

8、不遵循网络标准

有适当的标准可以确保以通用的方式正确完成工作。Web标准可帮助开发人员创建能够以相同质量工作的应用程序。

如今,大多数开发人员都是自学成才的,大多数时候,他们是从在线教程中学习的。在大多数情况下,这些教程没有提到正确的标准,因此,你最终不了解它们。

例如,在编写HTML时,你需要使用语义元素来根据Web标准构造网页。

你可以从whatwg.org了解所有最新的HTML标准。遵循正确的标准还可以使你的应用程序更易于访问。

实施这些标准是为了使具有国际上不同类型需求的用户可以更轻松地访问Web内容。因此,请确保你遵循这些标准。

9、编写Vanilla CSS

现在是2021年,你不再需要编写普通CSS。开始使用CSS预处理程序,例如Sass,Stylus或Less。如果你使用的是React,请使用样式化组件(CSS-in-JS)。新手开发人员经常会因为学习曲线而犯下忽略它们的错误。

如果尚未使用CSS预处理程序,例如Sass / Stylus / Less,请开始使用。

与Web应用程序中的普通CSS相比,使用CSS预处理器或样式化组件有很多优点。CSS预处理器和样式化组件都允许你维护干净的代码体系结构。你可以使用更少的代码来进行更多的样式设计,从而提高开发效率。

以Sass为例,它提供了嵌套,因此你可以使用嵌套的语法和有用的函数,例如颜色处理,数学函数等。你也可以使用Sass来定制Bootstrap,因为它也是用Sass编写的。同样,样式化组件具有增强的可重用性和高一致性。样式化组件将消除你对覆盖全局作用域选择器的担心。因此,是时候继续编写普通CSS了。

10、在HTML文件中编写CSS和JS

这是本书中最古老的错误之一,但有开发人员仍然在这样使用。有时是因为这是当时比较容易做的事情,但是容易做的事情并不总是正确的。这是一种不好的做法,会使你的代码杂乱无章,并且很难测试和调试。安全漏洞和许多其他问题可能会发生。

始终编写JavaScript和CSS来分隔文件并维护适当的项目体系结构。

11、忽略代码格式和注释

如果你看到一组没有缩进的JavaScript代码行,无用的空格,无用的换行符和不良的命名约定,你会是一种什么样的体验?

但是,新手开发人员很有可能会这样做,不写注释,很多无用的空格,换行符,没有意义的命名等等。

而经验丰富的开发人员不会这样做,因为他们知道查看格式不正确的代码有多少麻烦。

所以,建议新手去了解一下有关所使用语言的正确命名约定,在命名函数或变量时,使用正确的拼写以及在IDE中使用自动代码格式化工具。

有经验的开发人员需要遵循良好的编码习惯,在代码中添加有意义的注释。添加注释的目的是为了记录你的代码,以便将来其他开发人员,甚至你自己都可以轻松理解这些代码。你可以使用注释来定义变量,函数,类名以及代码的高级功能。

遵循正确的格式设置和注释操作,会让你查找代码中的错误也变得更加容易。

12、过度依赖jQuery

不再依赖jQuery的主要原因是,jQuery可以做的任何事情,纯JavaScript或TypeScript都可以做得更好,更快。

今天你肯定会使用Vue,React或Angular之类的框架和库,因此你不需要过度依赖jQuery。添加jQuery只会使你的应用程序更重。

不依赖jQuery的另一个原因是,你将很难适应新的框架,因为它不使用通用语法,并且具有一些不同的DOM实现。

我并不是说你根本不应该学习jQuery,因为许多项目仍在使用它。但是,你绝对不可过度依赖它,如果可以的话,请停止依赖JQuery。

最后的想法

在文中,我们讨论了新手开发人员大多数时候会犯的12个常见错误。避免这些错误将有助于你成为更有效率的开发人员并开发更好的应用程序。希望本文能帮助你将来避免这些错误。

这就是本文的全部内容,感谢您的阅读,并祝您编程愉快!

本文完〜

这篇关于12个Web开发工程师会犯的错误,有你吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611777

相关文章

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤