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

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设