JeffDeCola/jeffCoin

View on GitHub

Showing 34 of 34 total issues

Function BroadcastThisNode has 88 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func BroadcastThisNode() error {

    s := "START  BroadcastThisNode() - Broadcasts thisNode to the Network"
    log.Debug("ROUTINGNODE: I/F      " + s)

Severity: Major
Found in routingnode/routingnode-interface.go - About 2 hrs to fix

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

    func showLockedBlockHandler(res http.ResponseWriter, req *http.Request) {
    
        logReceivedAPICommand()
    
        s := "START  showLockedBlockHandler() - GET: /showlockedblock"
    Severity: Major
    Found in webserver/handlers.go and 3 other locations - About 2 hrs to fix
    webserver/handlers.go on lines 131..165
    webserver/handlers.go on lines 308..343
    webserver/handlers.go on lines 457..492

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 217.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

    func showNodeListHandler(res http.ResponseWriter, req *http.Request) {
    
        logReceivedAPICommand()
    
        s := "START  showNodeListHandler() - GET: /shownodelist"
    Severity: Major
    Found in webserver/handlers.go and 3 other locations - About 2 hrs to fix
    webserver/handlers.go on lines 131..165
    webserver/handlers.go on lines 211..246
    webserver/handlers.go on lines 308..343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 217.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

    func showPendingBlockHandler(res http.ResponseWriter, req *http.Request) {
    
        logReceivedAPICommand()
    
        s := "START  showPendingBlockHandler() - GET: /showpendingblock"
    Severity: Major
    Found in webserver/handlers.go and 3 other locations - About 2 hrs to fix
    webserver/handlers.go on lines 131..165
    webserver/handlers.go on lines 211..246
    webserver/handlers.go on lines 457..492

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 217.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

    func showBlockchainHandler(res http.ResponseWriter, req *http.Request) {
    
        logReceivedAPICommand()
    
        s := "START  showBlockchainHandler() - GET: /showblockchain"
    Severity: Major
    Found in webserver/handlers.go and 3 other locations - About 2 hrs to fix
    webserver/handlers.go on lines 211..246
    webserver/handlers.go on lines 308..343
    webserver/handlers.go on lines 457..492

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 217.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Function main has 83 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func main() {
    
        fmt.Printf("\nSTART...\n")
        fmt.Printf("Press return to exit\n\n")
    
    
    Severity: Major
    Found in jeffCoin.go - About 2 hrs to fix

      Function HandleRequest has 70 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func HandleRequest(conn net.Conn) {
      
          defer conn.Close()
          rw := bufio.NewReadWriter(bufio.NewReader(conn), bufio.NewWriter(conn))
      
      
      Severity: Minor
      Found in routingnode/requests.go - About 1 hr to fix

        Function TransactionRequest has 70 lines of code (exceeds 50 allowed). Consider refactoring.
        Open

        func TransactionRequest(nodeIP string, nodeTCPPort string, transactionRequestMessageSigned string) (string, error) {
        
            s := "START  TransactionRequest() - Request to transfer Coins to a jeffCoin Address"
            log.Debug("WALLET:      I/F      " + s)
        
        
        Severity: Minor
        Found in wallet/wallet-interface.go - About 1 hr to fix

          Function RequestAddressBalance has 69 lines of code (exceeds 50 allowed). Consider refactoring.
          Open

          func RequestAddressBalance(IP string, TCPPort string, jeffCoinAddress string) (string, error) {
          
              s := "START  RequestAddressBalance() - Requests the jeffCoin balance for a jeffCoin Address"
              log.Debug("WALLET:      I/F      " + s)
          
          
          Severity: Minor
          Found in wallet/wallet-interface.go - About 1 hr to fix

            Function RequestBlockchain has 69 lines of code (exceeds 50 allowed). Consider refactoring.
            Open

            func RequestBlockchain(networkIP string, networkTCPPort string) error {
            
                s := "START  RequestBlockchain() - Requests the blockchain and the pendingBlock from a Network Node"
                log.Debug("BLOCKCHAIN:  I/F      " + s)
            
            
            Severity: Minor
            Found in blockchain/blockchain-interface.go - About 1 hr to fix

              Function transactionRequestHandler has 68 lines of code (exceeds 50 allowed). Consider refactoring.
              Open

              func transactionRequestHandler(res http.ResponseWriter, req *http.Request) {
              
                  logReceivedAPICommand()
              
                  s := "START  transactionRequestHandler() - GET: /transactionrequest/{destinationaddress}/{value}"
              Severity: Minor
              Found in webserver/handlers.go - About 1 hr to fix

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                func showThisNodeHandler(res http.ResponseWriter, req *http.Request) {
                
                    logReceivedAPICommand()
                
                    s := "START  showThisNodeHandler() - GET: /showthisnode"
                Severity: Major
                Found in webserver/handlers.go and 1 other location - About 1 hr to fix
                webserver/handlers.go on lines 566..590

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 170.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                func showWalletHandler(res http.ResponseWriter, req *http.Request) {
                
                    logReceivedAPICommand()
                
                    s := "START  showWalletHandler() - GET: /showwallet"
                Severity: Major
                Found in webserver/handlers.go and 1 other location - About 1 hr to fix
                webserver/handlers.go on lines 537..561

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 170.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Function indexHandler has 63 lines of code (exceeds 50 allowed). Consider refactoring.
                Open

                func indexHandler(res http.ResponseWriter, req *http.Request) {
                
                    s := "----------------------------------------------------------------"
                    log.Info("WEBSERVER:                   " + s)
                    s = "HTTP SERVER - DISPLAY MAIN WEBPAGE"
                Severity: Minor
                Found in webserver/webpages.go - About 1 hr to fix

                  Method txRequestMessageSignedStruct.addTransactionToPendingBlock has 57 lines of code (exceeds 50 allowed). Consider refactoring.
                  Open

                  func (trms txRequestMessageSignedStruct) addTransactionToPendingBlock(unspentOutputSlice []unspentOutputStruct, change int64) {
                  
                      s := "START  addTransactionToPendingBlock() - Adds a transaction to the pendingBlock and makes change"
                      log.Debug("BLOCKCHAIN:  GUTS     " + s)
                  
                  
                  Severity: Minor
                  Found in blockchain/guts.go - About 1 hr to fix

                    Function RequestNodeList has 57 lines of code (exceeds 50 allowed). Consider refactoring.
                    Open

                    func RequestNodeList(networkIP string, networkTCPPort string) error {
                    
                        s := "START  RequestNodeList() -  Requests the nodeList from a Network Node"
                        log.Debug("ROUTINGNODE: I/F      " + s)
                    
                    
                    Severity: Minor
                    Found in routingnode/routingnode-interface.go - About 1 hr to fix

                      Function sendHandler has 53 lines of code (exceeds 50 allowed). Consider refactoring.
                      Open

                      func sendHandler(res http.ResponseWriter, req *http.Request) {
                      
                          s := "----------------------------------------------------------------"
                          log.Info("WEBSERVER:                   " + s)
                          s = "HTTP SERVER - DISPLAY API COMMANDS"
                      Severity: Minor
                      Found in webserver/webpages.go - About 1 hr to fix

                        Function validateHandler has 53 lines of code (exceeds 50 allowed). Consider refactoring.
                        Open

                        func validateHandler(res http.ResponseWriter, req *http.Request) {
                        
                            s := "----------------------------------------------------------------"
                            log.Info("WEBSERVER:                   " + s)
                            s = "HTTP SERVER - DISPLAY VALIDATE"
                        Severity: Minor
                        Found in webserver/webpages.go - About 1 hr to fix

                          Similar blocks of code found in 4 locations. Consider refactoring.
                          Open

                          func ReadWalletFile(nodeName string, passwordString string) {
                          
                              s := "START  ReadWalletFile() - Reads the wallet from a file and puts in struct"
                              log.Debug("WALLET:      I/F      " + s)
                          
                          
                          Severity: Major
                          Found in wallet/wallet-interface.go and 3 other locations - About 1 hr to fix
                          wallet/wallet-interface.go on lines 37..52
                          webserver/webserver-interface.go on lines 29..44
                          webserver/webserver-interface.go on lines 47..62

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 134.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 4 locations. Consider refactoring.
                          Open

                          func ReadPasswordFile(nodeName string, passwordString string) {
                          
                              s := "START  ReadPasswordFile() - Reads the password hash from a file and puts in struct"
                              log.Debug("WEBSERVER:   I/F      " + s)
                          
                          
                          Severity: Major
                          Found in webserver/webserver-interface.go and 3 other locations - About 1 hr to fix
                          wallet/wallet-interface.go on lines 37..52
                          wallet/wallet-interface.go on lines 55..70
                          webserver/webserver-interface.go on lines 29..44

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 134.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Severity
                          Category
                          Status
                          Source
                          Language