作为前端开发,分享下我在编程中的好习惯

简介: 前端开发喵喵侠分享多年实战总结的8个编程好习惯:写前先思考、注释重“为什么”、规范命名、代码自检、写文档、Git提交规范化、表单提示友好化、果断删除无用代码。习惯决定代码质量,写出半年后自己仍能读懂的代码,才是成熟的开始。

一、前言

你好,我是喵喵侠,一名前端开发。

当了这么多年程序员,我发现一个有趣的现象——写代码其实不难,难的是保持良好的编程习惯。同样的需求,有人一天写完,后续维护一地鸡毛;有人两天写完,半年后依然稳得像山。区别往往不在技术,而在习惯。今天我想分享一些我在日常工作中养成的好习惯,希望能给你一些启发。

二、好习惯分享

1. 开始写代码前,先想清楚实现思路

拿到需求时,我不会立刻打开编辑器。

我会先问自己三个问题:

  • 这个功能的核心流程是什么?
  • 哪些逻辑是可复用的?
  • 会不会影响现有模块?

比如做一个多选筛选框功能,很多人第一反应是直接写事件绑定逻辑。但我会先想,这个功能以后会不会复用?是否可以抽象成一个组件?如果上游和下游是联动的(例如“省份”选择影响“城市”选项),那我就提前规划数据流和依赖,避免后面返工。

这种“写前先想”的习惯让我在后期重构时几乎不用推翻逻辑,只需要微调实现。

2. 代码一定要有注释,尤其是“非直观逻辑”

注释不是给别人看的,是给未来的自己看的。

我有过一次血的教训——三个月前写的逻辑,三个月后我完全看不懂。那一刻我深刻体会到注释的价值。

我一般遵循以下三条规则:

  • 解释“为什么”,而不是“做了什么”
     比如下面这样写:
// 根据上一个下拉框的选项动态请求下一级数据(省市联动)
watch(selectedProvince, async (val) => {
  cityList.value = await fetchCityList(val)
})

 而不是:

// 监听省份变化

 因为后者虽然准确,但没有告诉未来的自己“为什么要监听”。

  • 写 TODO 时加具体说明
     不要只写
    // TODO: 优化,而要写清楚优化方向或原因
     例如:
// TODO: 这里后续要加防抖,否则快速点击会导致重复请求
  • 为枚举值、接口返回做注释
     比如一个 tab 切换逻辑:
// tabType: 1-实时监控,2-历史记录,3-报警日志
const tabType = ref(1)

 这种注释让别人立刻明白每个数字代表什么,不用翻文档。


3. 养成规范命名的习惯

命名是最容易被忽视、但最能体现思维清晰度的细节。

我给自己的原则是:能让别人读懂逻辑,不需要解释。

例如:

const userList = ref([]) // 所有用户列表
const selectedUserIds = ref([]) // 当前勾选的用户ID

而不是:

const list = ref([])
const check = ref([])

这种命名虽然短,但完全丢失了语义。

我喜欢在写函数时也保持一致,比如:

function fetchUserDetailById(id) { ... }
function validateFormBeforeSubmit() { ... }

一眼就能看出“做什么 + 针对什么”,比 getDatadoCheck 清晰太多。


4. 代码 Review:及时、客观、带思考

我习惯在每次发完版本后做一次自我 review。

很多人觉得 review 是团队行为,但我认为自检同样重要

我会浏览一遍 diff,看看有没有临时写的测试代码忘删、命名是否一致、逻辑是否能抽取为函数。

有时候我还会写上复盘注释,比如:

// REVIEW: 下次类似接口请求可以抽成 useFetch Hook

这样未来有类似功能时,我能回头看到自己的思考过程,持续改进。

5. 写文档,不是加班行为,而是沟通捷径

我遇到过最典型的场景是:别人接手我的项目,一脸茫然地问“要怎么跑起来?”

从那以后,我都会为每个项目写一个简单的 README.md,内容包括:

  • 项目简介:干什么的
  • 启动命令npm install && npm run dev
  • 配置项说明:环境变量、依赖 API
  • 注意事项:例如接口限频、版本兼容等

我甚至会在复杂逻辑的模块里写一份简短的说明,比如:

/**
 * 表单验证逻辑
 * 1. 用户名:不能为空
 * 2. 密码:需包含大小写和数字
 * 3. 手机号:正则校验,错误提示“请输入正确的手机号”
 */

这样的文档和注释结合,别人接手几乎不用问问题。

6. Git 提交信息要规范

Git 提交日志是团队协作的“时间线”,混乱的 commit 会让人抓狂。

我坚持用简洁的格式,比如:

feat: 新增用户信息导出功能
fix: 修复表单验证错误提示未显示的问题
refactor: 抽离通用请求封装
docs: 更新README项目说明

好处是两点:

  • 看 changelog 就能知道这次版本改动范围
  • 回滚或 cherry-pick 时能更精准地定位提交

如果一次提交改动太多,我会拆成多次 commit,保持单一职责,方便日后追溯。

7. 表单验证:提示语要友好

表单错误提示往往决定了一个产品的“温度”。

比如,不要写:

“手机号格式错误”

而是写:

“请输入正确的手机号(11 位数字)”

甚至可以加点贴心提示:

“请输入常用手机号,用于接收验证短信”

这种细节能提升用户体验,也让前端代码更贴近“产品思维”。

8. 删除无用代码,而不是注释掉

我以前常常把旧逻辑注释起来“以防万一”,结果两个月后我根本不敢动那坨注释。

现在我改成直接删掉,如果真的怕丢,就让 Git 帮我记着。

版本控制的意义就是——敢删敢改,无需保留尸体代码

三、总结

编程不只是逻辑堆叠,更是一种思维的训练。

良好的习惯能让代码更干净、项目更稳、团队更默契。

我的习惯也在不断演化,但有一点始终没变:

写出自己半年后依然能读懂的代码。

如果你正在写代码,不妨问问自己:

“半年后的我,看得懂现在这段逻辑吗?”

——如果答案是肯定的,那你已经在走向成熟的开发者之路。

目录
相关文章
|
2月前
|
前端开发 JavaScript iOS开发
Volta:一款优秀的前端开发 JavaScript 项目管理器
前端开发者喵喵侠分享使用 Volta 管理 Node.js 版本的实战经验。Volta 可跨平台统一管理 Node、npm、pnpm 等工具版本,支持在 `package.json` 中锁定依赖,实现项目级环境自动切换,尤其解决了 Windows 下 nvm/nvs 的兼容问题,提升团队协作效率。
311 1
|
2月前
|
边缘计算 分布式计算 安全
21,000张SIM卡背后的“短信工厂”:印度CBI突袭国家级钓鱼基础设施
2025年印度CBI捣毁代号“Chakra-V”的特大钓鱼短信工厂,缴获超2.1万张非法SIM卡及大量GSM网关设备。该团伙以工业化模式运作,构建“SIM卡池”并利用自动化脚本发送百万级伪装短信,覆盖银行、政务等场景,形成“钓鱼即服务”黑产链条。其技术融合动态短链、边缘计算与多维反检测机制,暴露出SMS协议缺陷与实名制漏洞。专家呼吁推动RCS替代SMS、部署行为分析系统,从协议层重建数字信任。
178 1
|
2月前
|
JavaScript 前端开发 iOS开发
NVS:一款简洁高效的 Node.js 版本管理工具
本文由前端开发者喵喵侠分享,介绍轻量级Node.js版本管理工具nvs的使用方法。涵盖Windows安装、常用命令(如add、link、use、ls、rm)、全局与局部版本切换技巧,并详细说明macOS下卸载nvs的完整步骤。相比nvm,nvs在Windows上体验更稳定,操作简洁高效,适合多项目开发场景。
255 1
|
4月前
|
SQL 分布式计算 大数据
【跨国数仓迁移最佳实践8】MaxCompute Streaming Insert:大数据数据流写业务迁移的实践与突破
本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第八篇,MaxCompute Streaming Insert:大数据数据流写业务迁移的实践与突破。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
1110 137
|
2月前
|
SQL 存储 运维
拒绝查询超时:一次真实高并发场景下的 SLS 物化视图调优实战
在某大型业务团队的核心日志场景中,阿里云 SLS 物化视图将三个长期超时的慢查询分别提速 89倍、8倍、56倍,从“查不出来”变为“随时可查”。通过“预计算 + 查表读取”,用极低的存储成本,换来极致的查询性能与稳定性。
181 16
|
4月前
|
存储 缓存 Java
重构一个类,JVM竟省下2.9G内存?
通过重构核心类,将 `HashMap<Long, HashSet<String>>` 优化为 `Long2ObjectOpenHashMap<int[]>`,结合数据分布特征与紧凑存储,JVM 堆内存从 3.13GB 降至 211MB,降幅达 94%,验证了高效数据结构在海量场景下的巨大价值。
442 24
重构一个类,JVM竟省下2.9G内存?
|
2月前
|
人工智能 前端开发 UED
如何快速实现AI大模型聊天对话框的页面布局?
本文介绍了如何使用CSS的Flex布局快速实现AI聊天对话框界面。通过`align-self`控制消息气泡左右对齐,结合`max-width`等样式优化显示效果,轻松完成一问一答的对话布局,适用于前端开发中的常见聊天场景。
353 0
|
2月前
|
存储 安全 前端开发
浅谈前端安全领域的XSS攻击
本文由喵喵侠撰写,介绍前端安全中的XSS(跨站脚本攻击)基本概念与防范。涵盖反射型、存储型和DOM型XSS原理,并通过一个留言板案例演示攻击过程。文章还提供防御建议,如避免使用innerHTML、采用DOMPurify过滤恶意脚本,帮助开发者提升安全意识,防范常见前端漏洞。
162 0
|
7月前
|
人工智能 Kubernetes Cloud Native
MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
在企业云原生转型过程中,如何实现传统微服务与 Kubernetes 服务的配置统一管理、服务互通及协议转换成为关键挑战。MSE Nacos Controller 应运而生,作为连接 Kubernetes 与 Nacos 的桥梁,支持 ConfigMap 与 Nacos 配置双向同步、服务自动注册发现,并助力 Higress 等 MCP 网关实现 REST API 向 AI 可调用 MCP 服务的转换,全面提升系统治理能力与智能化水平。
555 32
|
7月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
785 25

热门文章

最新文章