想象一个房间如此混乱,你找不到钥匙。衣服到处都是,书籍堆积如山,一片混乱。
现在想象一下在混乱的代码中工作。
这是同样的灾难,除了现在是你的大脑失去了理智。
另一方面,干净的代码就像走进一个一尘不染的房间。一切都在它应该在的地方。没有压力。没有混乱。只是清晰度。
事实是这样的:如果您想在软件开发中取得成功,编写干净的代码不是可选的。
你可以编写混乱的代码,成为努力修复每个错误的人,或者你可以掌握干净的代码并主宰你接触的每个项目。
让我给你画一幅画。
下面的图表显示了两种类型编码员的旅程:
现在,您决定要跟随哪条线路。
为了演示此图表,在初始开发阶段,糟糕的代码比干净的代码更改成本略高。
然而,当我们进入维护和重构阶段时,差距显着扩大,糟糕的代码成本几乎是干净代码的两倍。
到遗留阶段,不良代码达到100% 成本,现在更新成本极其昂贵,而干净的代码仍然更易于管理,为 45%。
毫无疑问,糟糕的代码是软件开发中代价高昂的问题。
命名变量或函数 b 或 x 是犯罪行为。就这样称呼他们吧。
// Weak and vague let b = 5; // Strong and clear let numberOfUsers = 5;
名字写不清楚的人不想承认自己的错误。 不要成为那个人。
函数应该做一件事——并且做得完美。这称为单一职责原则 (SRP)。
好的代码就像锤子。它击中了一个钉子,不是十个。
// Clean: One job, one focus function calculateTotal(a, b) { return a + b; } function logTotal(user, total) { console.log(`User: ${user}, Total: ${total}`); } // Dirty: Trying to do EVERYTHING function calculateAndLogTotal(a, b, user) { let total = a + b; console.log(`User: ${user}, Total: ${total}`); }
当你混合任务时,你将混乱与灾难混合在一起。
你不解释每次有人走进房间时门的作用。您的代码应该以同样的方式工作。
// Clean: Self-explanatory let userAge = 25; // Messy: Needs an explanation let a; // This means "age of the user"
评论还不错,但是如果你的代码不能独立存在,那你就已经失败了。
如果有人读你的代码时感觉他们正在解谜,你已经成为了一个麻烦制造者。
// Clean: Reads like a story if (isLoggedIn) { console.log("Welcome!"); } else { console.log("Please log in."); } // Messy: Feels like chaos if(isLoggedIn){console.log("Welcome!");}else{console.log("Please log in.");}
可读代码不仅仅适合其他人,六个月后也适合你。
如果你懒得写测试,当你的代码崩溃时不要抱怨。
class Calculator { add(a, b) { return a + b; } subtract(a, b) { return a - b; } } // Test it (Unit Test) const calculator = new Calculator(); console.assert(calculator.add(2, 3) === 5, "Addition failed"); console.assert(calculator.subtract(5, 3) === 2, "Subtraction failed");
测试是您的保险。忽略它们,你就是在拿时间赌博。
依赖就像交易。找到正确的,你就赢了。如果选择不当,你就会陷入让自己后悔的事情中。
// Dependency: Sending emails with Nodemailer const nodemailer = require('nodemailer'); function sendEmail(to, subject, message) { const transporter = nodemailer.createTransport({ /* config */ }); return transporter.sendMail({ from: "you@example.com", to, subject, text: message }); }
避免硬编码依赖。使用抽象或配置文件进行安全维护。
这只是一个例子。作为开发人员,您可能会使用数百个库或依赖项。
我并不是说你不应该依赖它们,现在很难避免它们。但在将它们安装到编码项目中之前,您应该非常小心。
您应该检查组织软件系统的安全性、性能、质量或功能。因为它们有时包含可能毁掉您整个项目的风险。
始终控制你的工具,不要让它们控制你。
组织良好的项目是旧货拍卖和高端精品店之间的区别。
myProject ├── src │ ├── components │ ├── services │ ├── utils └── tests
如果你的代码库看起来像一个垃圾抽屉,那么你已经失去了未来的自己的尊重。
电子邮件应用程序的可靠项目结构:
假设您正在构建一个向用户发送电子邮件的应用程序。你的老板般坚不可摧的 SOLID 项目结构应该如下所示:
不要像拥有 10 种性格的人一样编码。与您的格式保持一致。
使用 Prettier 或 ESLint 等工具来强制执行一致的风格。如果每个文件看起来都不同,那么您就会造成无人愿意修复的混乱。
我想说,格式的一致性是干净代码的基本原则,因为它保证了可读性。
看看...
在整个代码库中一致使用 2 或 4 个空格 来缩进。 避免使用制表符以在不同编辑器之间保持一致性。
将行最多 100-120 个字符以防止水平滚动并提高可读性。
将相关逻辑组合在一起和单独的代码块,并使用空行来突出显示其目的。
最后,避免过度对齐代码;相反,让缩进自然地引导逻辑流程。
硬编码是伪装成努力的懒惰。看看:
// Weak and vague let b = 5; // Strong and clear let numberOfUsers = 5;
所以,硬编码是让你坠入悬崖的捷径。
如果你的函数超过 20 行,它可能是试图做太多事情。分解它。
// Clean: One job, one focus function calculateTotal(a, b) { return a + b; } function logTotal(user, total) { console.log(`User: ${user}, Total: ${total}`); } // Dirty: Trying to do EVERYTHING function calculateAndLogTotal(a, b, user) { let total = a + b; console.log(`User: ${user}, Total: ${total}`); }
短函数是锐利函数。 他们每次都达到了目标。
任何人都可以编写混乱的代码。即使人工智能也能制造垃圾。
但是编写干净的代码吗?这就是区分业余程序员和专业程序员的技能。
你想主宰软件开发吗? 编写干净的代码。就这么简单。
那如何编写干净的代码呢?
让我告诉你一件事 - 你刚刚在本文中读到的内容只不过是我的书中海洋中的一滴水知识,从零到一的干净代码。
这10条规则?它们只是表面。
这本书深入探讨了每一个原则、每一个规则和每一个技术,并以清晰详细的方式进行了解释,让你永远不会忘记它们。
我在其中包含了数千张数字插图和真实场景,它们不仅可以教你,还可以带你进入干净编码的世界,这是你所无法想象的。曾经见过。
事实是:混乱的程序员无法生存。他们淹没在自己的混乱之中。干净的程序员占主导地位。他们编写的软件能够经受时间的考验,而且他们从不为无法修复的错误或无法添加的功能而苦苦挣扎。
如果你认真地想展现你编写代码的方式,那么这本书不是一个选择——它是必备。
因为今天是圣诞节,所以我会让这对你来说变得容易。使用促销代码 MERRYCHRISTMAS 即可获得 50% 折扣。
但不要等太久——此优惠将于2024 年 12 月 31 日结束。
点击下面的链接,获取该书。
? 立即获取干净的代码从零到一
选择权在你。您可以继续编写混乱的代码,浪费时间和精力,或者您可以控制,学习主导您的项目,并像老板一样构建软件。
? 关注我了解更多: @shahancd
? 我的每周时事通讯: Horscoder
阅读更多:在 React 中编写干净、可重用的组件
以上是如何编写干净的代码 - 为开发人员提供的提示和示例的详细内容。更多信息请关注PHP中文网其他相关文章!