After a few years of development, your codebase gets bigger and bigger. Even if you use the built-in documentation features of Omnis like $desc and $notes, it can be difficult to find the right information.
With a little effort, you can find it all on a Wikipedia-like website, something that many are familiar with.
In this workshop, Mirko will show you how to integrate MediaWiki, the software behind Wikipedia, into Omnis Studio, using Helper as the model to demonstrate:
- OmnisDoc: Our solution to generate one documentation page for every class in Omnis, complete with all methods, parameters and descriptions.
- Integration in Jenkins, so the documentation is always up to date.
- Manual documentation of the code in an internal MediaWiki-Site.
- A manual of our app for customers in a public MediaWiki-Site.
- Customer-specific documentation of our app at the customer-site.
- Automatically generate a Change-Log with all the completed issues in our bugtracker MantisBT.
Mirko’s session provides code that you can use and implement as you like
How complex is your code? Wouldn’t it be nice if you had metrics that measured complexity of methods that could be used to:
- estimate the cost of future support efforts -or-
- whether it might be better to refactor code now for simplicity, while it is fresh in the mind
What sounds like magic is actually possible – in Omnis!
In the ‘70s, widely respected research by Thomas McCabe and Maurice Howard Halstead led to algorithms to measure code complexity. Currently, libraries exist that measure complexity in Java and C++. These are mainly used in areas requiring very high reliability like airplane construction, medicine etc. However, every application is better if the code is easier to understand well after it is written.
In this workshop, Mirko will give you some theory on the Maintainability Index calculation and show this with Studio, which calculates the maintainability index for every method in an Omnis class.
Mirko will provide you with his Studio code that you can use as you like to measure your own code.