gpt4 book ai didi

javascript - 编写 Javascript 代码的更好方法

转载 作者:行者123 更新时间:2023-12-01 04:09:03 27 4
gpt4 key购买 nike

我想知道编写代码的最佳方法。

场景 1:

function main() {
var arr = [];
performSomeLogic(arr);
}

function performSomeLogic(arr) {
var sum = 0;

for (var i = 0; i < arr.length; i++) {
sum += arr[i];
// some more logic
}

for (var i = 0; i < arr.length; i++) {
sum += arr[i];
// some other logic
}
}

场景 2:

function main() {
var arr = [];
performSomeLogic(arr);
}

function performSomeLogic(arr) {
var sum = 0;
sum = commonLoop(true, arr);
sum = commonLoop(false, arr);
}

function commonLoop(flag, arr) {
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
if(flag){
// some more logic
} else {
// some other logic
}
}
return sum;
}

正如您所看到的,在第一个场景中我们只有 2 个函数(main 和 PerformSomeLogic),而在第二个场景中我们有 3 个函数并且代码已经模块化(main、performSomeLogic 和 commonLoop)。

哪种编码方式更好?

最佳答案

我认为一个方法应该尽可能做单一的事情。保留你的方法,以便你可以向各个步骤传达更好的含义。我觉得这使您的主要方法更加清晰和更具可读性,尽管不可否认它可能更加冗长。

function main() {
var arr = [];
var sum;
sum += performFirstLogic(arr);
sum += performSecondLogic(arr);
}

function performFirstLogic(arr) {
var sum = 0;

for (var i = 0; i < arr.length; i++) {
sum += arr[i];
// some more logic
}

return sum;
}

function performSecondLogic(arr) {
var sum = 0;

for (var i = 0; i < arr.length; i++) {
sum += arr[i];
// some more logic
}

return sum;
}

根据情况,我可能会找到机会传递函数以使事情变得更容易。

function main() {
var arr = [];
var sum;
sum += processLoop(arr, firstLogic);
sum += processLoop(arr, secondLogic);
}

function processLoop(arr, customLogic) {
var sum = 0;

for (var i = 0; i < arr.length; i++) {
sum += arr[i];
customLogic(arr[i]);
}

return sum;
}

function firstLogic(data) {
//First lot of logic
}

function secondLogic(data) {
//First lot of logic
}

您的里程可能会有所不同。

关于javascript - 编写 Javascript 代码的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41628769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com