你写过的最蠢的代码是?——前端篇

news2025/1/12 13:19:48

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁

在这里插入图片描述


🦄 博客首页:

  • 🐅🐾猫头虎的博客🎐
  • 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
  • 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
  • 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥

文章目录

  • 《你写过的最蠢的代码是?——前端篇》
    • 🐯摘要
    • 😇引言
    • 🤦‍♂️正文
      • 1️⃣ 那些“蠢”代码
        • 1.1 前端验证的轻率
        • 1.2 滥用!important
      • 2️⃣ 从“蠢”中学习
        • 2.1 前端验证的必要性
        • 2.2 CSS的优雅使用
      • 3️⃣ 如何避免写“蠢”代码?
        • 3.1 使用Lint和代码规范
        • 3.2 Code Review文化
        • 3.3 持续学习
    • 🙌总结
    • 📃参考资料
  • 原创声明

《你写过的最蠢的代码是?——前端篇》

🐯摘要

大家好!猫头虎博主来啦!🐯 今天我们要聊的话题可能让你笑出声,也可能让你涌上心头的是那份久违的尴尬——那就是:你写过的最蠢的代码是什么?😂 在前端开发的过程中,我们总会遇到各种bug,有的是技术问题,有的…嘛,可能就是我们那一时的粗心或是脑回路的特殊走向。这不,今天我们就来聊聊这些看似“蠢”但却充满了乐趣和学习点的代码吧!

😇引言

在前端的世界里,我们用代码创造了美丽的界面和丰富的交互。在这个过程中,我们可能也创造了一些“有趣”的bug和“蠢”代码。但,知识的海洋里没有无聊的风景,这些看似蠢蠢的实践也许正是我们学习和进步的阶梯。那就让我们一起欣赏这些“风景”,并从中找寻成长的契机吧!

🤦‍♂️正文

1️⃣ 那些“蠢”代码

1.1 前端验证的轻率

有时候,为了迅速完成任务,我们可能会忽略一些前端验证,比如:

function login() {
    // No validation, straight to API
    api.login(username.value, password.value);
}

没有任何验证的用户名和密码直接传给API,这样可能会引发一系列的安全和用户体验问题。

1.2 滥用!important

在CSS中,我们可能因为某些样式不生效,开始滥用!important

.button {
    color: red !important;
    background-color: blue !important;
    font-size: 16px !important;
}

这样的做法将导致CSS的可维护性大大降低。

2️⃣ 从“蠢”中学习

2.1 前端验证的必要性

前端验证不仅能增强用户体验,还能在一定程度上保护API免受不必要的请求压力。

2.2 CSS的优雅使用

学习CSS的优先级规则,理解CSS的工作机制,使我们能写出更加优雅、可维护的样式代码。

3️⃣ 如何避免写“蠢”代码?

3.1 使用Lint和代码规范

利用ESLint等工具,并制定代码规范,可在一定程度上避免写出“蠢”代码。

3.2 Code Review文化

通过Code Review,我们可以从同事的代码中学习,也能及时发现并修正自己代码中的问题。

3.3 持续学习

保持对新技术、新方法的持续学习和关注,提升我们的编程技能。

🙌总结

我们每个人在成长的路上都可能写过一些让自己哭笑不得的代码。它们是我们成长的痕迹,是我们学习的阶梯。通过分享、回顾这些“蠢”代码,我们不仅能在轻松中学习、进步,也能让我们的团队文化更加活跃、开放。让我们在未来的编程之路上,写出更多更好的代码,创造更加精彩的产品!🚀🚀🚀

📃参考资料

  • MDN Web Docs
  • W3C - CSS
  • ESLint - Pluggable JavaScript linter

💡 猫头虎博主提示:在编程的旅程中,不要怕犯错误,更不要害怕分享你的错误。因为,每一个错误,都是一次学习的机会。我们一起加油,一起成长!🎉🎉🎉

在这里插入图片描述


🐅🐾 猫头虎建议程序员必备技术栈一览表📖

🌐 前端技术 Frontend:

  1. 基础技术:

    • 📜 HTML5
    • 🎨 CSS3 (以及预处理器如Sass、Less)
    • 📚 JavaScript (ES6+)
  2. 前端框架和库:

    • ⚛️ React
    • 🅰️ Angular
    • 🖼️ Vue.js
    • 💠 Svelte
  3. 状态管理:

    • 🌐 Redux (通常与React一起使用)
    • 🌀 MobX
    • 🅰️ NgRx (用于Angular)
    • 🖼️ Vuex (用于Vue)
  4. 工具和构建系统:

    • 🛠️ Webpack
    • 🌀 Rollup
    • 📦 Parcel
    • ⚙️ Babel (用于JavaScript转译)
  5. 包管理器:

    • 📦 npm
    • 🧶 Yarn
  6. 路由管理:

    • 🌐 React-Router (用于React)
    • 🅰️ Angular Router
    • 🖼️ Vue Router
  7. API和通讯:

    • 📡 Fetch API
    • 📜 Axios
    • 📡 GraphQL (以及相关客户端如Apollo和Relay)
  8. 样式和组件库:

    • 💅 Styled Components
    • 🎨 Ant Design
    • 💙 Bootstrap
    • 🖼️ Material-UI
  9. 测试工具:

    • 🧪 Jest
    • 🔄 Mocha
    • 🐜 Cypress (用于端到端测试)
    • 📚 Enzyme, Testing Library
  10. 版本控制:

  • 📚 Git (以及GitHub, GitLab, Bitbucket)
  1. 代码格式化和质量检查:
  • 🛠️ ESLint
  • 🎨 Prettier
  1. 性能优化与监控:
  • ⚡ Lighthouse
  • 🔥 Web Vitals
  • 📈 Google Analytics
  1. 跨平台移动开发:
  • 🚀 React Native
  • 🖼️ Vue Native

原创声明

======= ·

  • 原创作者: 猫头虎
  • 编辑 : Libin9iOak

作者wx: [ libin9iOak ]
公众号:猫头虎技术团队

学习复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1058329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLVM 插桩 LLVM IR PHI指令

今天在进行 LLVM 插桩时,遇到一个神奇的报错 PHI nodes not grouped at top of basic block!%12 phi i32 [ %.pre, %if.then15 ], [ %argc, %maybe_close_fd_mask.exit ], !dbg !381 label %if.end19 PHI nodes not grouped at top of basic block!%18 phi i32 […

线程的状态与转换,组织与控制

进程和线程分析极其相似。见个人博客:进程的状态与转换以及组织方式 1.线程的状态与转换 2.线程的组织与控制 1.线程控制块(TCB) 2.线程表

运行中的代码,看不太懂的地方,可以实时查看运行值,以做进一步的判断

运行中的代码,看不太懂的地方,可以实时查看运行值,以做进一步的判断 运行中的代码,看不太懂的地方,可以实时查看运行值,以做进一步的判断 运行中的代码,看不太懂的地方,可以实时查看…

OpenCV 14(角点特征Harris和Shi-Tomasi)

一、角点 角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路…

机器学习 不均衡数据采样方法:imblearn 库的使用

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

【Hello Linux】多路转接之 epoll

本篇博客介绍: 多路转接之epoll 多路转接之epoll 初识epollepoll相关系统调用epoll的工作原理epoll服务器编写成员变量构造函数 循环函数HandlerEvent函数epoll的优缺点 我们学习epoll分为四部分 快速理解部分概念 快速的看一下部分接口讲解epoll的工作原理手写epo…

找不到msvcr120.dll怎么办?电脑缺失msvcr120.dll的修复方法

msvcr120.dll 是 Microsoft Visual C Redistributable Package 中的一个动态链接库文件,它包含了 C 运行时库的一些功能。这个文件通常与 Visual C 2010 编译器一起使用,用于支持一些大型游戏和应用程序的运行。msvcr120.dll 文件的主要作用是提供 C 语言…

远程代码执行渗透测试—Server2128

远程代码执行渗透测试 任务环境说明: √ 服务器场景:Server2128(开放链接) √服务器场景操作系统:Windows √服务器用户名:Administrator密码:pssw0rd 1.找出靶机桌面上文件夹1中的文件RCEBac…

【AI视野·今日Robot 机器人论文速览 第四十六期】Tue, 3 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Tue, 3 Oct 2023 Totally 76 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Generalized Animal Imitator: Agile Locomotion with Versatile Motion Prior Authors Ruihan Yang, Zhuoqun Chen, Jianhan M…

RabbitMQ-网页使用消息队列

1.使用消息队列 几种模式 从最简单的开始 添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境 1.1查看交换机 交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是…

运行程序时msvcr110.dll丢失的解决方法,msvcr110.dll丢失5的个详细解决方法

在使用电脑的过程中,我们经常会遇到各种问题,其中之一就是 msvcr110.dll 丢失的问题。msvcr110.dll 是 Microsoft Visual C Redistributable 的一个组件,用于支持使用 Visual C 编写的应用程序。如果您的系统中丢失了这个文件,您可…

保姆级Anaconda安装教程

一.anaconda下载 建议使用清华大学开源软件镜像站进行下载,使用官网下载速度比较慢。 anaconda清华大学开源软件镜像站 : https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 一路next即可,注意添加环境变量得选项都勾上。 二.验证…

C++list模拟实现

list模拟实现 1.链表结点2.类模板基本框架3.构造4.插入普通迭代器实现4.1尾插4.2普通迭代器实现4.3对比list和vector的iterator4.4迭代器的价值4.5insert4.6尾插头插复用写法 5.删除erase5.1erase5.2尾删头删复用写法 6.析构emptysizeclear6.1clear6.2size6.3 empty6.4 析构 7.…

深度学习笔记之微积分及绘图

深度学习笔记之微积分及绘图 学习资料来源:微积分 %matplotlib inline from matplotlib_inline import backend_inline from mxnet import np, npx from d2l import mxnet as d2lnpx.set_np()def f(x):return 3 * x ** 2 - 4 * xdef numerical_lim(f, x, h):retur…

浅谈yolov5中的anchor

默认锚框 YOLOv5的锚框设定是针对COCO数据集中大部分物体来拟定的,其中图像尺寸都是640640的情况。 anchors参数共3行: 第一行是在最大的特征图上的锚框 第二行是在中间的特征图上的锚框 第三行是在最小的特征图上的锚框 在目标检测中,一…

[sping] spring core - 依赖注入

[sping] spring core - 依赖注入 所有代码实现基于 Spring Boot3,core 的概念很宽广,这里的 core concept 主要指的就是 Inversion of Control 和 Dependency Injection,其他的按照进度应该是会被放到其他的 section 记录 之前有写过 IoC 和…

如何在Keil和IAR环境编译生成的bin文件添加CRC校验值

之前写过一篇文章介绍过 CRC 的原理和应用。在程序升级的情况下,我们可以在烧录下载的 bin 文件添加 CRC 校验值,以校验我们获取的bin文件是否正确。 下面我打算使用 APM32F407 的工程代码,介绍下如何在 Keil 环境和 IAR 环境对编译生成的 b…

线程概念,实现方式以及多线程模型

1.线程引入 有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。 为此,引入了“线程”,来增加并发度。 可以把线程理解为“轻量级进程”。线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线…

GEE15:获取不同遥感指数的时间序列及不同指数间的关系

GEE 1. 不同遥感指数间的时间序列分析2. 不同指数之间的关系 1. 不同遥感指数间的时间序列分析 GPP数据在一定程度上和植被指数(如NDVI和EVI)有着显著的相关性,那么其相关性如何?如何从时间序列的角度来思考呢?下面我将…

【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

文章目录 前言为什么需要网关以及网关的作用网关的技术实现 一、Gateway 网关的搭建1.1 创建 Gateway 模块1.2 引入依赖1.3 配置网关1.4 验证网关是否搭建成功1.5 微服务结构分析 二、Gateway 断言工厂2.1 Spring 提供的断言工厂2.2 示例:设置断言工厂 三、Gateway …