Loading…
Thursday, April 27 • 12:30pm - 12:55pm
Documents as Code New Level

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Peter Verhas, EPAM Systems, Senior Software Developer

The code is best documented by itself. This statement is interpreted many times as an argument not to write documentation. This is absolutely wrong, but the original statement is not. Software documentation describes something which is already there in the software. Document writers in English feature often copy information from the program. Why not automate the part that could be automated? Not everything. Many times sentences should be written in English, and this cannot be done by a program yet. But file names, configuration parameters, version numbers, and many other things can be automatically fetched from the source code. You can mark each section of the documentation that is about a certain feature implemented in a specific file, and the documentation processing can warn you when the implementation has changed.

Jamal at https://github.com/verhas/jamal is a general-purpose text processing tool that can work and help you maintain your documentation no matter what format you use. You can use any text-based document, like AciiDoc, Markdown, or Microsoft Word, and include processing instructions in your documentation.

You can include and reformat code snippets, import and reformat documentation from source code comments, check that certain methods, fields, classes, and configuration parameters exist in the program, reference configuration values in the document, define macros for repeated texts, check the consistency of the documentation with the code and to other text documents.

Using Jamal, you will never need to write "latest version" to avoid copying the version number or being afraid that you will forget and your document will become inconsistent and outdated.

The talk is about the theoretical background, discusses documentation cohesion and consistency, and shows the use of Jamal in a demonstration using IntelliJ and AsciiDoctor plugin WYSIWYG editing.

Speakers
avatar for Peter Verhas

Peter Verhas

Senior Software Developer, EPAM
# Peter VerhasPeter Verhas is a senior software engineer and software architect with having electrical engineering and economics background (MSC and MBA). He created his first programs in 1979. Since then, he has authored several open-source programs. He has worked in several telecommunications... Read More →


Thursday April 27, 2023 12:30pm - 12:55pm BST
Workshop Stage 2
  DevExec & DevLead