pkg/vkern/cli.go
Method CLIRemoteManager.get
has 115 lines of code (exceeds 50 allowed). Consider refactoring. Open
Open
func (mgr *CLIRemoteManager) get(version CalVer) error {
prog := mgr.log.NewProgress(fmt.Sprintf("Fetching kernel: %s", version.String()), "", 0)
defer prog.Finish(false)
Method CLIRemoteManager.get
has 17 return statements (exceeds 4 allowed). Open
Open
func (mgr *CLIRemoteManager) get(version CalVer) error {
prog := mgr.log.NewProgress(fmt.Sprintf("Fetching kernel: %s", version.String()), "", 0)
defer prog.Finish(false)
Method CLIRemoteManager.get
has a Cognitive Complexity of 27 (exceeds 20 allowed). Consider refactoring. Open
Open
func (mgr *CLIRemoteManager) get(version CalVer) error {
prog := mgr.log.NewProgress(fmt.Sprintf("Fetching kernel: %s", version.String()), "", 0)
defer prog.Finish(false)
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Method CLIRemoteManager.updateList
has 57 lines of code (exceeds 50 allowed). Consider refactoring. Open
Open
func (mgr *CLIRemoteManager) updateList(ctx context.Context) (List, error) {
var list List
list = mgr.cache
// request remote manifest
Method CLIRemoteManager.Get
has 11 return statements (exceeds 4 allowed). Open
Open
func (mgr *CLIRemoteManager) Get(ctx context.Context, version CalVer) (*ManagedBundle, error) {
list, err := mgr.List(ctx)
if err != nil {
return nil, err
Method CLIRemoteManager.updateList
has 5 return statements (exceeds 4 allowed). Open
Open
func (mgr *CLIRemoteManager) updateList(ctx context.Context) (List, error) {
var list List
list = mgr.cache
// request remote manifest
Method CLIRemoteManager.forceUpdate
has 5 return statements (exceeds 4 allowed). Open
Open
func (mgr *CLIRemoteManager) forceUpdate(ctx context.Context) error {
err := ctx.Err()
if err != nil {
return err
Function NewCLIRemoteManager
has 5 return statements (exceeds 4 allowed). Open
Open
func NewCLIRemoteManager(url, dir string, logger elog.View) (*CLIRemoteManager, error) {
mgr := new(CLIRemoteManager)
mgr.log = logger
mgr.url = url
mgr.dir = dir
exported type CLIRemoteManager should have comment or be unexported Open
Open
type CLIRemoteManager struct {
- Exclude checks
exported function NewCLIRemoteManager should have comment or be unexported Open
Open
func NewCLIRemoteManager(url, dir string, logger elog.View) (*CLIRemoteManager, error) {
- Exclude checks
exported method CLIRemoteManager.List should have comment or be unexported Open
Open
func (mgr *CLIRemoteManager) List(ctx context.Context) (List, error) {
- Exclude checks
exported function CLI should have comment or be unexported Open
Open
func CLI(args CLIArgs, logger elog.View) (Manager, error) {
- Exclude checks
exported var CLIUpdateInterval should have comment or be unexported Open
Open
var CLIUpdateInterval time.Duration = time.Hour * 24
- Exclude checks
exported method CLIRemoteManager.Latest should have comment or be unexported Open
Open
func (mgr *CLIRemoteManager) Latest() (out string, err error) {
- Exclude checks
exported method CLIRemoteManager.Get should have comment or be unexported Open
Open
func (mgr *CLIRemoteManager) Get(ctx context.Context, version CalVer) (*ManagedBundle, error) {
- Exclude checks
exported type CLIArgs should have comment or be unexported Open
Open
type CLIArgs struct {
- Exclude checks