Javascript 使用参数与全局变量——代码可读性/可维护性
我试图理解可读性与代码中重复我自己之间的最佳点 我正在用Javascript创建康威的生活游戏。我的函数反复使用许多相同的变量,就像这样Javascript 使用参数与全局变量——代码可读性/可维护性,javascript,ecmascript-6,maintainability,code-readability,Javascript,Ecmascript 6,Maintainability,Code Readability,我试图理解可读性与代码中重复我自己之间的最佳点 我正在用Javascript创建康威的生活游戏。我的函数反复使用许多相同的变量,就像这样 const BOARD_HEIGHT = 50 const BOARD_WIDTH = 50 let gameBoard = createGameBoard(); function createGameBoard(width, height){} function randomizeGameBoard(gameBoard, width, height){}
const BOARD_HEIGHT = 50
const BOARD_WIDTH = 50
let gameBoard = createGameBoard();
function createGameBoard(width, height){}
function randomizeGameBoard(gameBoard, width, height){}
function updateGameBoard(gameBoard, width, height){}
function runGameLoop(gameBoard, width, height){}
我应该像这样声明函数吗?如果所有函数都采用完全相同的参数,或者我的函数不采用参数,而是直接访问常用变量(全局变量)
无论是全局变量还是传递变量都不是解决问题的方法(IMO)。如果你仔细看,宽度和高度实际上是游戏板的属性。。。所有这些函数实际上都可以是一个类的方法:
class GameBoard {
constructor(width, height) {
this.width = width; this.height = height;
//...
}
randomize() { /*...*/ }
update() { /*...*/ }
}
const board = new GameBoard();
如果只有一块板,那么一个对象就足够了:
const board = {
width: 50, height: 50,
randomize() { /*...*/ },
update() { /*...*/ },
};
const board = {
width: 50, height: 50,
randomize() { /*...*/ },
update() { /*...*/ },
};