继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何写出清晰易读的代码:重构与实用技巧

动漫人物
关注TA
已关注
手记 262
粉丝 18
获赞 71

说实话,每个程序员(是的,甚至是有多年经验的人)曾经提交过乱七八糟的代码。

编写干净的代码并不是什么高不可攀的技能。它其实是一种你可以慢慢培养的习惯。而重构呢?这其实就是让你的代码真正变得有意义的机会——不仅对你自己有意义,对将来接手维护代码的人来说也一样。

让我们直接进入主题。没有空洞的理论。只提供实用的建议,帮助你写出清晰易维护的代码。

1. 命名时要认真
你的变量和函数应该说清楚。

不是 x,也不是 tempdata。这些只是令人困惑的占位符。

好: getUserProfile() (获取用户资料)

坏: getData() (获取数据)

好: maxLoginAttempts (这是一个好的命名)

坏: m (这是一个糟糕的命名)

当你给事物起好名字时,你的代码就能自我解释,无需多做推理。

2.: 少即是多:精简的力量

如果你像读文章一样看一个函数,那肯定哪里不对劲了。

长的函数难以阅读、调试和维护。相反,把它们拆分成更小且单一功能的函数更合适。

可以这么想:每个函数应该回答一个问题。如果一个函数回答了五个问题,那就把它拆分。

例如:

    // 
    function processUserData(user) {
      validateUser(user);
      保存到数据库(user);
      发送电子邮件(user.email);
    }

    // 这样做会更好
    function 验证并保存用户(user) {
      validateUser(user);
      保存到数据库(user);
    }

    function 通知用户(email) {
      发送电子邮件(email);
    }

请点击这里切换全屏模式

这会让你的代码更好读,也更容易复用。将来某个时刻,你会感谢现在的自己。

3. 一致才是关键。

你是否在一个项目中遇到过 userList 在一个地方被叫作 users,而在另一个地方被叫作 activeUsersArray?这简直就是一团糟。

保持一致的命名约定、缩进和格式。当你的代码遵循一致的模式时,这样代码会更易读,并且更易调试。

好的:userList, orderList, productList
不好的:用户, 订单列表, 产品列表

选一个规矩并一直坚持。不要搞出意外。

4. 评论要有意义,而不是只为了习惯

评论应该解释为什么,而不是仅仅解释做什么。如果你的代码需要注释来解释它要做什么,那么请考虑重构代码。

例如:

    // ❌ 不好的备注
    // 将计数加1
    count = count + 1;

    // ✅ 好的说明
    // 特殊情况处理:防止计数器变成负数
    if (count > 0) {
      count--;
    }

进入全屏模式,退出全屏模式

写些有用的评论,而不是那些显而易见的话。

5. 避免使用魔法数字和硬编码值

你见过带随机数的功能吗?对吧,这真是个维护噩梦般的问题。

相反,用一些有意义的常数来表示这些值。

比如:

// 代码示例
    // ❌ 不太好
    if (user.loginAttempts > 3) {
      lockAccount(user); // 锁定账户
    }

    // ✅ 较好
    const MAX_LOGIN_ATTEMPTS = 3; // 定义常量 MAX_LOGIN_ATTEMPTS
    if (user.loginAttempts > MAX_LOGIN_ATTEMPTS) {
      lockAccount(user); // 锁定账户
    }

全屏/退出全屏

好多了,真是的。

6. DRY:不要重复(不要重复自己)

重复的代码就是等着出问题。如果你发现自己在拷贝粘贴代码,停下来吧。创建可重用的函数和模块。

例如:无进一步内容

    // ❌ 不好:重复的逻辑
    sendEmail(user.email, "嗨!");
    sendEmail(admin.email, "欢迎新用户注册!");

    // ✅ 好:可复用的函数
    function sendNotification(email, message) {
      sendEmail(email, message);
    }
    sendNotification(user.email, "嘿!");
    sendNotification(admin.email, "欢迎新用户注册!");

点击全屏按钮进入全屏,再点击退出全屏按钮退出全屏

这样一来,当你需要更改时,你只需要在一处更新。

7. 让代码保持SOLID

如果你还没听说过SOLID原则,现在是开始了解的好时机。这些是五个简单的准则,可以让代码更整洁,更易于维护。

如果没有别的,就从这个开始吧:单一责任原则

每个函数或类都应该只做一件事,并且要做得好。

如果你的类既做用户认证又做数据库存储,是时候重构一下了。

8. 无情地重构
编写干净的代码并不是一劳永逸的事,而是一种 习惯。

每次你检查代码时,寻找让它更优的方法:

  • 你能为变量命名得更清楚些吗?
  • 你能把一个大函数拆分成几个小函数吗?
  • 你能去掉不必要的注释吗?

不要等大改,边写边改。

比如:

    // ❌ 初始版本
    // 获取用户数据
    function fetchUserData(userId) {
      return fetch(`https://api.example.com/user/${userId}`)
        .then(response => response.json())
        .catch(error => console.error(error));
    }

    // ✅ 更好的版本
    // 获取用户数据
    async function fetchUserData(userId) {
      try {
        const response = await fetch(`https://api.example.com/user/${userId}`);
        return await response.json();
      } catch (error) {
        console.error(error);
      }
    }

全屏模式 退出全屏

重构并不意味着你的第一次尝试是错误的——这意味着你在让它变得越来越好。

如果你可以:
✅ 明确地命名事物

✅ 保持功能单一

✅ 保持一致性

✅ 避免硬编码

✅ 经常进行重构

…你已经远远领先一步。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP