簡體   English   中英

在使用它們的地方傳播 es6 導入語句

[英]Spreading es6 import statements where they are used

在沒有運行頂級代碼的 js 文件中(它只是導出函數),是否應該將每個 import 語句放在文件頂部? 或者我可以將它們傳播到對我更有意義的地方嗎?

這會影響性能嗎?您會認為這樣的代碼“難以閱讀”嗎?

示例(全部在頂部):

import { multiply } from "./multiplication.js";
import { add } from "./addition.js";
import { toPower } from "./exponentiation.js";

export function computeMagicNumber(x, y, z) {
    let magic = linearOperation(x, y);
    magic = exponentOperation(magic, z);
    return magic;
}

function linearOperation(...) {
    // uses multiply() and add()
}

function exponentOperation(...) {
    // uses toPower()
}

示例(傳播,以便它更接近使用它的位置):

export function computeMagicNumber(x, y, z) {
    let magic = linearOperation(x, y);
    magic = exponentOperation(magic, z);
    return magic;
}


import { multiply } from "./multiplication.js";
import { add } from "./addition.js";

function linearOperation(...) {
    // uses multiply() and add()
}


import { toPower } from "./exponentiation.js";

function exponentOperation(...) {
    // uses toPower()
}

這會影響性能嗎?

不,這兩個模塊的工作原理完全相同。

你會認為這樣的代碼“難以閱讀”嗎?

是的。 既定的最佳實踐是將導入放在文件的頂部,這樣您就不必在整個代碼中搜索它們。 此外,導入將首先在模塊中的任何代碼之前進行評估,並且將在整個模塊范圍內可用,因此以線性順序聲明它們是有意義的。

如果您希望您的導入更接近使用它們的函數,請考慮使用較小的模塊,即將每個函數放在單獨的模塊中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM