您是否厌倦了盯着一堆连您的猫都不会碰的代码?别再看了。在这篇文章中,我将告诉您 9 条规则,将您的烂尾代码变成艺术品。

所以喝杯咖啡,坐下来负责你的代码!

规则#1 - 让你的代码井井有条且易于阅读你可以不整理你的衣橱,但一定要整理你的代码。通过使代码井井有条且易于阅读,您可以快速找到所需内容。

检查以下示例:

代码语言:javascript复制// Group related functions together

function calculateTotal() {

// code

}

function calculateTax() {

// code

}

function calculateDiscount() {

// code

}

// Use comments to explain the purpose of the code

function calculateTotal() {

// calculate subtotal

let subtotal = 0;

// add items

subtotal += item1.price;

subtotal += item2.price;

// return total

return subtotal;

}如您所见,稍加计划和适量的注释可以让浏览代码变得轻而易举。

乍一看,即使在编写代码已有一段时间后,您也能很好地了解整体功能。

并不是每一天你都会感谢过去的自己做了一些好事!

规则#2 - 遵循既定的编码约定和标准我知道成为叛逆者并规划自己的路线很诱人。

但有时,遵循既定的编码惯例和标准是值得的。这包括命名约定、评论指南等内容。

请参阅下面的片段,了解我要说的内容。

代码语言:javascript复制// Naming conventions

let userName; // camelCase for variables and properties

const MAX_USERS; // UpperCamelCase for constants

// Commenting guidelines

// This function takes in a number and returns its square

function square(num) {

return num * num;

}我们的想法是要始终如一地玩游戏。通过遵循您团队的代码约定,您的代码不会像拇指一样突出,您的开发人员也会欣赏您。

规则#3 - 使用描述性变量和函数名称我知道将变量命名为 X 和 Y 很时髦。

但是请相信我,几个月后,即使是你也无法理解它们的真正含义。

为变量赋予描述性名称总是安全的。从长远来看,它甚至可能对您更好。

代码语言:javascript复制// Descriptive function name

function calculateSum(numbers) {

// Descriptive variable name

let sum = 0;

// Iterate through the array of numbers

for (let i = 0; i < numbers.length; i++) {

// Add each number to the sum

sum += numbers[i];

}

// Return the sum

return sum;

}如您所见,即使函数的代码有一个循环,函数和变量名也使程序的目标一目了然。

规则#4 - 避免硬编码值并使用常量向硬编码说再见,向常量问好!

通过使用常量,您将能够存储您知道在整个程序中不会改变的值。这将帮助您避免在整个代码中搜索和替换值的麻烦。

查看下面的代码。

代码语言:javascript复制const TAX_RATE = 0.07;

function calculateTotal(subtotal) {

return subtotal + (subtotal * TAX_RATE);

}如果未来税率发生变化,您可以轻松地在一个地方更新该值,并将其反映在整个代码中。

规则#5 - 保持函数小而集中当您开始作为一名开发人员时,总是很想将您的功能变成瑞士刀。解释您的代码可以做这么多事情的感觉是如此诱人。

当您成为经验丰富的开发人员时,这种习惯就会消失。但有时它不会。

相信我。保持你的功能小,你的生活就会快乐。

如果您编写易于理解的小而集中的函数,那么如果出现问题,您很可能不会在海滩度假时受到打扰。

请参阅此示例。

代码语言:javascript复制function calculateTotal(subtotal, tax, discount) {

const total = subtotal + tax - discount;

return total;

}上面的函数简短而切题。这使得它易于理解和维护。

规则#6 - 使用合适的数据结构您是否总是试图在圆孔中安装方钉?如果是,是时候使用适当的数据结构了。

就像木匠针对不同的任务拥有多种工具一样,开发人员应该针对不同类型的功能拥有多种数据结构。

这是一个备忘单:

当您需要存储具有特定顺序的项目集合时,请使用数组。当您需要存储可以动态更改的项目集合时,请使用列表。最后,如果您需要存储可以通过键访问的项目集合,请使用映射。查看下面的代码,演示了不同数据结构的使用。

代码语言:javascript复制// Using an array to store a collection of items that have a specific order

const shoppingList = ["milk", "bread", "eggs"];

console.log(shoppingList[1]); // Output: "bread"

// Using a list to store a collection of items that can change dynamically

const todoList = ["write code", "debug", "test"];

todoList.push("deploy");

console.log(todoList); // Output: ["write code", "debug", "test", "deploy"]

// Using a dictionary to store a collection of items that can be accessed by a key

const phonebook = {

"John": "555-555-5555",

"Mary": "555-555-5556",

"Bob": "555-555-5557"

};

console.log(phonebook["Mary"]); // Output: "555-555-5556"通过根据需求使用合适的数据结构,您会发现您的代码不仅高效而且易于理解。

规则#7 - 使用版本控制就像你的应用程序如果只在你的机器上运行就没有用一样,如果你的代码没有提交到中央存储库,它也没有用。

每个开发人员都应该习惯版本控制。不要忘记定期提交代码。如果您正在这样做,请确保您团队中的其他人也这样做。

只需要几个命令:

代码语言:javascript复制// Initialize a new Git repository

$ git init

// Add all files to the repository

$ git add .

// Commit the changes with a message

$ git commit -m "Initial commit"一个好的版本控制工具允许开发人员跟踪更改、与他人协作并在出现任何问题时轻松恢复到以前的版本。

规则# 8 - 自动化重复性任务不要像轮子上的仓鼠一样,不停地原地打转,一遍又一遍地做着同样无聊的工作。

您应该使用工具和脚本来自动执行代码中的重复性任务。这不仅可以节省时间,还可以使您的代码更加可靠和高效。

查看此简单测试自动化脚本的代码示例。

代码语言:javascript复制const testCases = [

{ input: [1, 2], expectedOutput: 3 },

{ input: [2, 3], expectedOutput: 5 },

{ input: [3, 4], expectedOutput: 7 },

];

testCases.forEach(testCase => {

const output = addNumbers(testCase.input[0], testCase.input[1]);

if (output !== testCase.expectedOutput) {

console.error(`Test failed: expected ${testCase.expectedOutput} but got ${output}`);

} else {

console.log("Test passed");

}

});您还可以自动化编译代码和创建最终包的构建过程。

请参阅下面的示例,其中我们使用 Gulp 等工具自动化构建过程。

代码语言:javascript复制// Automating a build process using a tool like Grunt or Gulp

const gulp = require('gulp');

gulp.task('build', function() {

// Build process logic

});

gulp.task('default', ['build']);规则#9 - 保持你的代码是最新的不要成为恐龙。你只会灭绝。

让您的代码保持最新。尽可能更新您的应用程序依赖项。

例如,如果您在 Node 生态系统中工作,请使 NPM 保持最新并升级您的开发环境。

代码语言:javascript复制// Keep dependencies up-to-date using package manager

$ npm update

// Keep the development environment up-to-date

$ nvm install 12.16.3就是这样!那么,你有它。9 条规则可帮助您编写干净高效的代码。

当然,这些并不是唯一重要的事情。但是通过遵循它们,您将能够开始编写不仅运行良好而且看起来令人愉悦的代码,让其他人阅读、理解和维护。