Version 1.42

About
Features
Download
Installation
Architecture
FAQ
The Importance
of Impatience
Credits

SourceForge.net Logo
The Squealer
Code Describer
 

Large source files are difficult to navigate. What you want is a summary of the structure of the file that you can point-and-click at to navigate to it immediately. Large IDEs provide this by summarising the methods in a class.

The Squealer does this for a selection of languages (try it with F4):

  • Java. Shows all the class methods.
  • Javascript. Shows all the functions in any file containing Javascript.
  • PL/SQL. Shows all the package functions and procedures.
  • Perl. Shows all the subroutines in a script or module.

The Code Describer is dynamic: The Squealer does not use the dictionaries to provide this information, so any changes you make are immediately available. The results are clickable (if using Textpad) and you can easily flick back to the previous Command Results to flick through some methods.

Java Methods

Java class methods are listed alphabetically. A simple complexity value (PhD number) is also given for each method to highlight methods that may have too much logic in them. A value of > 15-20 should be considered for re-factoring. In the example below none fall into this category, the printCheques() method the most complex with a PhD of 9.
    Current project is: test

    Class com.mycompany.test.payments.PaymentsBean

        PhD   Methods
    -------------------------------------------------------------------------------------
        0     public                            PaymentsBean ()
        2     public    void                    calculateAggregatePayments (...)
        2     public    void                    createAllPTYUCPayments (...)
        0     public    void                    ejbActivate ()
        0     public    void                    ejbCreate ()
        0     public    void                    ejbPassivate ()
        0     public    void                    ejbRemove ()
        0     public    ArrayList               findAllActualPayments (...)
        0     public    ArrayList               findAllPendingActualPayments (...)
        5     public    PackageInstructionsVO   findPrintRequestDetails (...)
        0     private   PrintJobVO              getChequePrintJob (...)
        0     private   PrintJobVO              getCredTranPrintJob (...)
        0     public    SessionContext          getSessionContext ()
        1     public    void                    paymentsPrinted (...)
        1     public    void                    paymentsSpoiled (...)
        3     private   void                    printBuildInsNote (...)
        9     private   void                    printCheques (...)
        5     private   void                    printCreditTransfers (...)
        2     public    void                    printPayments (...)
        2     public    void                    resetPayments (...)
        0     public    void                    setSessionContext (...)
        4     public    void                    updateActualPayment (...)
        4     public    void                    updateActualPayments (...)
                    
           

Javascript Functions

The following lists the Javascript functions in a JSP file. The Code Describer will work on any Squealer-enabled file type that contains Javascript functions.
     Current project is: test
     
     addRegisteredName()
     addToDate(day_p, month_p, year_p, daysToAdd_p, monthsToAdd_p, yearsToAdd_p)
     applicationTypeChanged()
     categoryChanged()
     clearRegisteredNames()
     crossChargeYNChanged()
     flexiTermMarker(message)
     initPage()
     lenderChanged()
     letOrPartLetChanged()
     rateChanged()
     repaymentChanged()
     saveAllDetails()
     setDefaultDiscountMarginFields()
     setDisplayFields()
     setFieldsReadOnly()
     setStaffTypeFields()
     setTabsEtc()
     staffLoanChanged()
     staffTypeChanged()
     updateCurrency()
     updateDiscountMarginDates()
     updatePurchaseRemortgageFields()
     updateStaffLoanField()
            

PL/SQL Packages

Perl Subroutines

The following example shows the subroutines in the frisker module frisk.pl.

    Current project is: test

        buildLine
        delimit
        friskFiles
        getRules
        identifySection
        intro
        padLeftie
        parseBody
        parseLines
        parseWhole
        printtiming
        readFile
        reportResult
        reportStats
        runRules
        usage