代码之家  ›  专栏  ›  技术社区  ›  YASH JADHAV

如何解决“<Something>已经在上层范围中声明了”代码气味?

  •  -1
  • YASH JADHAV  · 技术社区  · 2 年前

    我的sonarqube仪表板中有以下代码气味,我不知道如何解决这些问题。

    “isInitialized”已在上部作用域中声明。

    这是我的代码-

    let _isInitialized = false;
    
    /**
     * Getter for _isInitialized
     *
     * @return {Boolean} _isInitialized
     */
    export const isInitialized = function() {
        return _isInitialized;
    };
    
    /**
     * Sets isInitialized
     * @param {Boolean} isInitialized new value for inititialized
     */
    export const setIsInitialized = function( isInitialized ) {
        _isInitialized = isInitialized;
    };
    

    有人能解释一下我的代码有什么问题吗?

    不知道该尝试什么,因为我的代码工作正常,但在sonarqube仪表板上得到了这个问题。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Quentin    2 年前

    在这里,您定义了一个名为 isInitialized 在模块的范围内使用 const

    export const isInitialized = function() {
    

    在这里定义一个变量 具有相同名称 在函数的作用域中使用参数名称。

    export const setIsInitialized = function( isInitialized ) {
    

    不要那样做。为变量使用唯一的名称。