mvvmFX icon indicating copy to clipboard operation
mvvmFX copied to clipboard

Enhance general documentation of mvvmFx

Open mainrs opened this issue 8 years ago • 4 comments

There is nearly no Javadoc available for mvvmFx. Documentation would be really nice to have and would make life easier for new developers who want to try the framework out.

mainrs avatar Jun 23 '16 12:06 mainrs

Hi Sven, I've looked through the code to see which parts are missing javadoc and I think your statement that "neary no javadoc" is an exaggeration ;-)

Can you point to actual classes/packages that need more documentation?

Here is an overview of our code and my opinion about documentation. For each class the percentage value shows how "complete" the javadoc is from my point of view. If something is missing I've added it in parentheses. Please tell me if you disagree on specific files.

Core module

de.saxsys.mvvmfx

  • FluentViewLoader (80%, Scopes missing)
  • FxmlView (100%)
  • InjectResourceBundle (100%)
  • InjectViewModel (80%, livecycles)
  • JavaView (100%)
  • MvvmFX (100%)
  • ViewModel (90%, reference to WeakNotificationObserver, livecycles)
  • ViewTuple (100%)
  • Scopes are mostly undocumented yet

de.saxsys.utils.commands

  • Action (0%)
  • Command (90%, describe "execute" method)
  • CommandBase (100%)
  • CompositeCommand (80%, internals, code example)
  • DelegateCommand (80%, internals, code example)

de.saxsys.utils.itemlist

  • better description of the general idea
  • ItemList (100%)
  • ListTransformation (100%)
  • ModelToStringFunction (0%)
  • SelectableItemList (100%)
  • SelectableStringList (100%)

de.saxsys.utils.mapping

  • ModelWrapper (100%)

de.saxsys.utils.notifications

  • DefaultNotificationCenter (70%, internals, general description about this implementation)
  • NotificationCenter (90%, reference to factory, code example)
  • NotificationCenterFactory (10%)
  • NotificationObserver (90%, code example, reference to WeakNotificationObserver)
  • NotificationTestHelper (100%)
  • WeakNotificationObserver (100%)

de.saxsys.utils.validation

package-info.java missing

  • CompositeValidationStatus (100%)
  • CompositeValidator (30%, code example, some methods missing)
  • FunctionBasedValidator (80%, code example, some methods missing)
  • ObservableRuleBasedValidator (90%, code example)
  • ObservableRules (10%)
  • Severity (100%)
  • ValidationMessage (70%, describe immutability, note to Equals/Hashcode)
  • ValidationStatus (80%, code example)
  • Validator (100%)

de.saxsys.utils.validation.visualization

  • ControlsFxVisualizer (80%, internals)
  • ValidationVisualizer (100%)
  • ValidationVisualizerBase (100%)

viewlist

  • better description of the general idea
  • CachedViewModelCellFactory (70%)
  • ViewListCell (70%, internals)
  • ViewListCellFactory (80%, code example)
  • ViewTupleMapper (80%, code example)

CDI

  • MvvmFxCdiApplication (90%, hint to CDI docs and mvvmFX wiki for setup)

Guice

  • MvvmFXGuiceApplication (90%, hint to mvvmFX wiki for setup, code example for Guice modules)

Testing Utils

  • jfxrunner (30%, code example missing)
  • ExceptionUtils (50%)
  • FxTestingUtils (0%)
  • GCVerifier (80%, some methods missing)

Utils

de.saxsys.mvvmfx.utils.listener

  • ListenerManager (80%, code example)

de.saxsys.mvvmfx.utils.sizebinding

  • SizeBindingsBuilder (50%, some methods missing)

manuel-mauky avatar Jul 04 '16 12:07 manuel-mauky

Sorry for the inconvenience. I mostly was referring to the internal package. It might not be important on the first glance but documenting how the framework works under the hood would allow other people to get involved in a much simpler way.

mainrs avatar Jul 04 '16 12:07 mainrs

Hi, I know that for example the logic in the FxmlViewLoader is not easy to understand. We have tried to document as much as possible but the whole process is still complex due to limitations of JavaFX' FXMLLoader. Can you point to classes or methods that need more documentation? Then I can try to add additional informations.

manuel-mauky avatar Jul 08 '16 11:07 manuel-mauky

Sure, will do later on...

mainrs avatar Jul 08 '16 13:07 mainrs