你写过的最蠢的代码是?

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

在这里插入图片描述


🦄 博客首页:

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

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

文章目录

  • 《你写过的最蠢的代码是?》
    • 摘要
    • 引言
    • 正文
      • 初识编程:常见的新手错误
        • 变量命名
        • 循环和条件判断
      • 代码优化:避免常见的效率陷阱
        • 不必要的循环
        • 避免全局变量
      • 编程最佳实践:写出高质量的代码
        • 代码重构
        • 测试驱动开发 (TDD)
    • 总结
    • 参考资料
  • 原创声明

《你写过的最蠢的代码是?》

摘要

猫头虎博主在此分享一下,每个程序员在编程道路上都会有一些让自己感到啼笑皆非的代码经历。特别是在刚开始学习编写代码的时候,往往会写出一些现在看来非常愚蠢的代码。这些“愚蠢”的代码往往是我们成长的见证,也是我们进步的阶梯。通过本文,我们将会回顾并分析一些常见的编程错误和不良实践,同时也会探讨如何通过持续学习和实践,避免这些错误,成为一个更优秀的程序员。 “编程新手错误”、"代码优化"和"编程最佳实践"是非常热门的话题,我们也将围绕这些话题展开讨论。

引言

编程是一个不断学习和进步的过程。每个程序员在编程的旅途中,都可能会写出一些让自己觉得“愚蠢”的代码。特别是在刚开始学习编程的时候,由于经验的缺乏和知识的不足,很容易写出一些不符合编程规范或者效率低下的代码。而这些代码,往往会在我们日后回顾的时候,成为我们成长过程中的趣事。

正文

初识编程:常见的新手错误

变量命名

新手程序员往往会忽略变量命名的重要性。好的变量名能够大大提高代码的可读性。以下是一个不好的变量命名示例:

a = 5  # 什么是 a?
b = 10 # b 又代表什么?

一个更好的做法是给变量一个有意义的名称,如下所示:

radius = 5
height = 10
循环和条件判断

循环和条件判断是编程中常见的结构。但是新手往往会在这里出错,例如,使用了错误的循环条件,或者在条件判断中忽略了某些情况。以下是一个常见的错误示例:

for i in range(10):print(i)if i == 5:break
else:print("Loop finished")

在上面的代码中,else块永远不会被执行,因为循环在 i == 5 时被终止。

代码优化:避免常见的效率陷阱

不必要的循环

很多情况下,程序员可能会在不需要循环的地方使用循环,从而降低代码的效率。例如:

# 寻找列表中的最大值
lst = [1, 2, 3, 4, 5]
max_value = 0
for value in lst:if value > max_value:max_value = value

上述代码可以简化为:

max_value = max(lst)
避免全局变量

过多地使用全局变量会使得代码变得难以理解和维护。应该尽可能地使用局部变量和函数参数。

编程最佳实践:写出高质量的代码

代码重构

代码重构是提高代码质量的重要手段。通过重构,我们可以使代码变得更加简洁、易读和易维护。

测试驱动开发 (TDD)

测试驱动开发是一种能够确保代码质量的有效方法。通过编写测试用例,我们可以确保代码的正确性和稳定性。

总结

每个程序员都有可能写出“愚蠢”的代码,重要的是要从中学习和成长。通过避免常见的编程错误和采纳最佳实践,我们可以不断提升自己的编程能力,写出更高质量的代码。

参考资料

  1. Martin Fowler. “Refactoring: Improving the Design of Existing Code”, Addison-Wesley, 1999.
  2. Kent Beck. “Test Driven Development: By Example”, Addison-Wesley, 2002.

😄 编程是一门艺术,愿我们在编程的世界里,不断探索、不断进步!

在这里插入图片描述


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

🌐 前端技术 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.hqwc.cn/news/116088.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9.22数电(触发器寄存器一些电路分析reg的思考)

用作存储元件的电路 新输入的信号可能使电路保持同样的状态也可能使电路进入另一种新的状态 输入信号置位与复位可以用于改变构成存储元件的电路状态 RS锁存器 通过或非门就是说输入信号中有一个是1,输出就的是0 在RS0时,RS对或非门的结果无影响&am…

蓝桥杯 题库 简单 每日十题 day7

01 啤酒和饮料 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你…

蓝牙电话之HFP—电话音频

1 媒体音频: 播放蓝牙音乐的数据,这种音频对质量要求高,数据发送有重传机制,从而以l2cap的数据形式走ACL链路。编码方式有:SBC、AAC、APTX、APTX_HD、LDAC这五种编码方式,最基础的编码方式是SBC&#xff0…

07_ElasticSearch:倒排序索引与分词Analysis

07_ElasticSearch:倒排序索引与分词Analysis 一、 倒排索引是什么?1.1 通过示例,简单理解下1.2 核心组成 二、倒排索引是怎么工作的?2.1 创建倒排索引2.2 倒排索引搜索 三、Analysis 进行分词3.1 Analyzer 由三部分组成3.2 Analyz…

大众滑雪赛事活动等级划分与评定规范 学习

声明 本文是学习GB-T 42374-2023 大众滑雪赛事活动等级划分与评定规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件确立了大众滑雪赛事活动的等级划分规则,规定了总体要求、评定主体、申报条件、等级评定 要求、结果应…

Linux-网卡和网络配置

链接一篇大佬的博客:Linux之手把手教会修改网卡名称 文章目录 修改网卡名称步骤1:修改“/etc/default/grub”步骤2:修改“/etc/sysconfig/network-scripts”下的文件步骤3:修改“ifcfg-eth0”配置步骤4:判断操作系统的…

VHOST-SCSI代码分析(1)VHOST SCSI设备模拟

VHOST SCSI设备的模拟是由QEMU和HOST共同实现的,QEMU模拟VHOST SCSI设备配置空间等,而对于虚拟机通知HOST和HOST通知虚拟机机制由HOST内核实现。 在QEMU中VHOST SCSI设备继承关系如下: 其它设备以及对应class_init函数和realize具现化实现与V…

【刷题-牛客】链表内指定区间反转

链表定区间翻转链表 题目链接题目描述核心思想详细图解代码实现复杂度分析 题目链接 链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 题目描述 核心思想 遍历链表的过程中在进行原地翻转 [m,n]翻转区间记作子链表,找到子链表的 起始节点 left 和 终止节点 right记录在…

基于JAVA+SpringBoot+Vue+协同过滤算法+爬虫的前后端分离的租房系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着城市化进程的加快…

联想y7000 y7000p 2018/2019 不插电源 不插充电器, 直接关机 ,电量一直89%/87%/86%,V0005如何解决?

这种问题,没有外力破坏的话,电池不可能突然出事。这种一般是联想的固件问题,有可能发生在系统更新,或者突然的不正常关机或长时间电池过热,原因我不是很清楚。 既然发生了,根据我收集的解决方法&#xff0c…

【计算机毕业设计】基于SpringBoot+Vue金融产品销售系统的设计与实现

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序、安卓等)、简历模板、学习资料、…

C#实现钉钉自定义机器人发送群消息帮助类

一、自定义机器人发送群消息使用场景 在企业中,针对一些关键指标内容(如每天的生产产量、每天的设备报警信息等信息),需要同时给多人分享,此时就可以将需要查看这些数据的人员都拉到一个群中,让群里的机器人将这些关键指标内容推送到群里即可【(目前已实现在钉钉群里创建…