Tags:
create new tag
, view all tags

The way we do things

Java syntactical conventions

lexical rules for naming

  • packages (categories)
    • org.vcell is the beginning of each package
    • all lowercase separated by dots
  • classes (nouns): 1st upper case, camel-case "ClientDocumentManager"
  • methods (verbs): 1st lower case, "saveBioModel()"
  • variables (nouns)

    • Hungarian notation only used for booleans "bFound" or "bResolved".
    • arg_variable name to distinguish functions input from a variable of the same name that may be a field
    • In constructor(any method), can use the same name, must use the this.field= field.
    • 1st character lower case
    • collections (lists/sets) use plural names so "reactions" rather than "listOfReactions".
      • variables that use JavBeans
      • principles-protect integrity of container so that theres not a subversion of the encapsulating classs
      • don't change a state directly for containers instead go to the owner of the container to alter container or list of things.
      • clone containes or objects to pass along. it is difficult to protect containers in the context of PropertyChangeEvents.
      • ArrayList supercedes Vector
    • static fields (with "static" keyword) are global variables - use carefully

      • capitalized with underscores "XML_BIOMODEL_TAG".
      • use only with "final" keyword (constant literals, or immutable singletons.
    • non-static fields ("object" variables): optionally begin with "field" (e.g. "fieldReactions")
    • local variables (nouns) :

Java Beans specification (Java at Sun/Oracle)

acceptable names to imply semantics (meaningful, familiar to other vcell developers).

  • Use existing names unless impossible.
  • Don't use bags and boxes if it is just a collection ... using the plural form of the word can convey the multiplicity.
    • table and panel are standard terms
  • Create new terms using a sequence of commonly used words ... striking the balance between specificity and abstraction.

Design conventions:

"industry" accepted (design patterns)

vcell design patterns (architectural, algorithmic)

Coding and Design Standards Coding conventions-java specific


JProfiler as an Eclipse 3.x Plugin

When JProfiler is integrated into the eclipse 3.x IDE, JProfiler can be invoked from within the IDE without any further need for session configuration. (Requirements: The eclipse 3.x plugins work with the full SDKs for eclipse 3.x. The JProfiler integration does not work with partial installations of the eclipse framework. )

Eclipse: Help --> Install new software… --> choose Galileo website --> install anything related with profiling

Then, eclipse should be closed while installing JProfiler.

JProfiler: During installation, selected IDE integration with Eclipse 3.5.

Or after installing JProfiler, go to Session --> IDE integrations to make sure that IDE has been linked.

Now, start Eclipse, go to Window --> Preferences --> JProfiler to make sure JProfiler executable is set correctly.

In JProfiler, double check your JProfiler setting from Session --> Session Settings --> Profiling settings --> Customize Profiling Settings if you don’t want to use default settings.

Once JProfiler is set up in Eclipse successfully, the profile icon should be appear in the Eclipse toolbar. Start profiling with the button!

Swing

  • NEVER subclass a swing component (other than JPanel).
    • Swing components are already sufficiently customizable and behave well on multiple platforms with various look and feels.
      • Do NOT subclass JFrame. Subclass JPanel and add to a newly created JFrame
      • For internal frames use our subclasses of JDesktopInternal and JInternalFrames and JTable
    • All application logic (e.g. what do we do when this button is pushed) is introduced using Events (e.g. ActionListeners (etc.) within the parent JPanel subclass.
    • NEVER use new Thread(). Use AsynchClientTask and ClientTaskDispatcher
    • to show an error dialog with exception, please use DialogUtils.showErrorDialog (final Component requester, final String message, final Throwable exception).
      • This will send error report to vcell support if the exception is not expected, e.g. NullPointExceptionetc
      • Current question- change background or foreground when an object (variable) can not be edited?

TWiki> VCell Web>VCellDocumentation (2010-06-24, RaquellHolmes)EditAttach
Group Training and Discussion

Software Process- Next Discussion

Configuration management

  • Bugzilla

Code Review

Testing

Releases and User Documentation

Reference Library

-- RaquellHolmes - 2010-06-24

Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatJPG JProfilerInEclipse.JPG manage 4.9 K 2010-10-19 - 16:45 TracyLi  
Topic revision: r5 - 2011-03-03 - 03:58:40 - IonMoraru
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback