Commented out code in the codebase
There are many instances of code lines (and functions) that are commented out in the code base. Having commented out code increases the cognitive load on an already complex system. Also, it hides the important parts of the system that should get the proper attention, but that attention gets to be diluted.\\nThe main problem is that commented code adds confusion with no real benefit. Code should be code, and comments should be comments.\\nHere's a few examples of such lines of code, note that there are more.\\n```\\n    struct LiquidationVars {\\n        // address token;\\n        // uint256 tokenPrice;\\n        // uint256 coinValue;\\n        uint256 borrowerCollateralValue;\\n        // uint256 tokenAmount;\\n        // uint256 tokenDivisor;\\n        uint256 msgTotalBorrow;\\n```\\n\\n```\\n                if(token != ETH\\_ADDR) {\\n                    divisor = 10\\*\\*uint256(globalConfig.tokenInfoRegistry().getTokenDecimals(token));\\n                }\\n                // globalConfig.bank().newRateIndexCheckpoint(token);\\n                power = power.add(getDepositBalanceCurrent(token, \\_borrower)\\n```\\n\\nMany usage of `console.log()` and also the commented import on most of the contracts\\n```\\n        // require(\\n        // totalBorrow.mul(100) <= totalCollateral.mul(liquidationDiscountRatio),\\n        // "Collateral is not sufficient to be liquidated."\\n        // );\\n```\\n\\n```\\n    // function \\_isETH(address \\_token) public view returns (bool) {\\n    // return globalConfig.constants().ETH\\_ADDR() == \\_token;\\n    // }\\n\\n    // function getDivisor(address \\_token) public view returns (uint256) {\\n    // if(\\_isETH(\\_token)) return INT\\_UNIT;\\n    // return 10 \\*\\* uint256(getTokenDecimals(\\_token));\\n    // }\\n```\\n\\n```\\n        // require(\\_borrowLTV != 0, "Borrow LTV is zero");\\n        require(\\_borrowLTV < SCALE, "Borrow LTV must be less than Scale");\\n        // require(liquidationThreshold > \\_borrowLTV, "Liquidation threshold must be greater than Borrow LTV");\\n```\\n
In many of the above examples, it's not clear if the commented code is for testing or obsolete code (e.g. in the last example, can _borrowLTV ==0?) . All these instances should be reviewed and the system should be fully tested for all edge cases after the code changes.
```\\n    struct LiquidationVars {\\n        // address token;\\n        // uint256 tokenPrice;\\n        // uint256 coinValue;\\n        uint256 borrowerCollateralValue;\\n        // uint256 tokenAmount;\\n        // uint256 tokenDivisor;\\n        uint256 msgTotalBorrow;\\n```\\n