Showing 22 of 32 total issues
BBcTransaction
has 25 methods (exceeds 20 allowed). Consider refactoring. Open
Open
BBcTransaction struct {
digestCalculating bool
IdLengthConf BBcIdConfig
TransactionID []byte
TransactionBaseDigest []byte
File transaction.go
has 507 lines of code (exceeds 500 allowed). Consider refactoring. Open
Open
/*
Copyright (c) 2018 Zettant Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Method BBcRelation.Pack
has a Cognitive Complexity of 31 (exceeds 20 allowed). Consider refactoring. Open
Open
func (p *BBcRelation) Pack() ([]byte, error) {
if p.AssetGroupID == nil {
return nil, errors.New("need asset_group_id in BBcRelation")
}
buf := new(bytes.Buffer)
- 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 BBcRelation.Unpack
has 65 lines of code (exceeds 50 allowed). Consider refactoring. Open
Open
func (p *BBcRelation) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
Method BBcRelation.Pack
has 55 lines of code (exceeds 50 allowed). Consider refactoring. Open
Open
func (p *BBcRelation) Pack() ([]byte, error) {
if p.AssetGroupID == nil {
return nil, errors.New("need asset_group_id in BBcRelation")
}
buf := new(bytes.Buffer)
Method BBcTransaction.packBase
has 55 lines of code (exceeds 50 allowed). Consider refactoring. Open
Open
func (p *BBcTransaction) packBase(buf *bytes.Buffer) error {
Put4byte(buf, p.Version)
if p.Timestamp == 0 {
p.Timestamp = time.Now().UnixNano() / int64(time.Microsecond)
}
Method BBcRelation.Unpack
has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring. Open
Open
func (p *BBcRelation) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
- 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 BBcRelation.Unpack
has 10 return statements (exceeds 4 allowed). Open
Open
func (p *BBcRelation) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
Method BBcRelation.Pack
has 10 return statements (exceeds 4 allowed). Open
Open
func (p *BBcRelation) Pack() ([]byte, error) {
if p.AssetGroupID == nil {
return nil, errors.New("need asset_group_id in BBcRelation")
}
buf := new(bytes.Buffer)
Method BBcTransaction.packBase
has 9 return statements (exceeds 4 allowed). Open
Open
func (p *BBcTransaction) packBase(buf *bytes.Buffer) error {
Put4byte(buf, p.Version)
if p.Timestamp == 0 {
p.Timestamp = time.Now().UnixNano() / int64(time.Microsecond)
}
Method BBcTransaction.Unpack
has 8 return statements (exceeds 4 allowed). Open
Open
func (p *BBcTransaction) Unpack(dat *[]byte) error {
buf := bytes.NewBuffer(*dat)
if err := p.unpackHeader(buf); err != nil {
return err
Method BBcAsset.Unpack
has 8 return statements (exceeds 4 allowed). Open
Open
func (p *BBcAsset) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
Method BBcEvent.Unpack
has 7 return statements (exceeds 4 allowed). Open
Open
func (p *BBcEvent) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
Method BBcReference.Unpack
has 6 return statements (exceeds 4 allowed). Open
Open
func (p *BBcReference) Unpack(dat *[]byte) error {
if p.IdLengthConf == nil {
p.IdLengthConf = &BBcIdConfig{}
}
Method BBcTransaction.Pack
has 6 return statements (exceeds 4 allowed). Open
Open
func (p *BBcTransaction) Pack() ([]byte, error) {
if !p.digestCalculating && p.TransactionID == nil {
p.Digest()
}
Method BBcEvent.unpackApprovers
has 6 return statements (exceeds 4 allowed). Open
Open
func (p *BBcEvent) unpackApprovers(buf *bytes.Buffer) error {
numMandatory, err := Get2byte(buf)
if err != nil {
return err
}
Function Deserialize
has 6 return statements (exceeds 4 allowed). Open
Open
func Deserialize(dat []byte) (*BBcTransaction, error) {
buf := bytes.NewBuffer(dat)
formatType, err := Get2byte(buf)
if err != nil {
Method KeyPair.ConvertFromPem
has 5 return statements (exceeds 4 allowed). Open
Open
func (k *KeyPair) ConvertFromPem(pemstr string, compressionMode int) error {
block, _ := pem.Decode([]byte(pemstr))
if block == nil {
return errors.New("invalid PEM format")
}
Method BBcSignature.Unpack
has 5 return statements (exceeds 4 allowed). Open
Open
func (p *BBcSignature) Unpack(dat *[]byte) error {
var err error
buf := bytes.NewBuffer(*dat)
keyType, err := Get4byte(buf)
Method BBcEvent.Pack
has 5 return statements (exceeds 4 allowed). Open
Open
func (p *BBcEvent) Pack() ([]byte, error) {
if len(p.OptionApprovers) != int(p.OptionApproverNumDenominator) {
return nil, errors.New("num of option approvers must be equal to OptionApproverNumDenominator")
}
if p.AssetGroupID == nil {