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
|