Update documentation for enhanced clarity
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 22 Oct 2023 21:24:16 +0000 (00:24 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 22 Oct 2023 21:24:16 +0000 (00:24 +0300)
Improved the content and organization of the CLI Helper documentation. Changes include finer details about the functionalities, easier organization, and addition of a 'TODO' section for continuous improvement. This aims to facilitate user understanding and quick start with the library.

doc/index.html
doc/index.org

index 4648538..9ff3194 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2023-10-12 Thu 22:18 -->
+<!-- 2023-10-23 Mon 00:22 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>CLI Helper - library to help implementing commandline interfaces</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#orgf8634f9">1. General</a>
+<li><a href="#org86cb438">1. General</a>
 <ul>
-<li><a href="#orgd17f1cf">1.1. Source code</a></li>
+<li><a href="#orgb60e280">1.1. Source code</a></li>
 </ul>
 </li>
-<li><a href="#org873ac39">2. Library contents</a>
+<li><a href="#org03c9da8">2. Overview</a>
 <ul>
-<li><a href="#org7e47dc1">2.1. Ask for user input</a></li>
+<li><a href="#orgf267c1f">2.1. Ask for user input</a></li>
 </ul>
 </li>
-<li><a href="#orge7ef3ef">3. Getting the library</a></li>
+<li><a href="#orgafc2748">3. Getting the library</a></li>
+<li><a href="#org09c922a">4. TODO:</a></li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-orgf8634f9" class="outline-2">
-<h2 id="orgf8634f9"><span class="section-number-2">1.</span> General</h2>
+<div id="outline-container-org86cb438" class="outline-2">
+<h2 id="org86cb438"><span class="section-number-2">1.</span> General</h2>
 <div class="outline-text-2" id="text-1">
 <ul class="org-ul">
 <li>This program is free software: released under Creative Commons Zero
 </ul>
 </div>
 
-<div id="outline-container-orgd17f1cf" class="outline-3">
-<h3 id="orgd17f1cf"><span class="section-number-3">1.1.</span> Source code</h3>
+<div id="outline-container-orgb60e280" class="outline-3">
+<h3 id="orgb60e280"><span class="section-number-3">1.1.</span> Source code</h3>
 <div class="outline-text-3" id="text-1-1">
 <ul class="org-ul">
 <li><a href="https://www2.svjatoslav.eu/gitweb/?p=cli-helper.git;a=snapshot;h=HEAD;sf=tgz">Download latest snapshot in TAR GZ format</a></li>
@@ -256,28 +257,31 @@ git clone https://www2.svjatoslav.eu/git/cli-helper.git
 </div>
 </div>
 
-<div id="outline-container-org873ac39" class="outline-2">
-<h2 id="org873ac39"><span class="section-number-2">2.</span> Library contents</h2>
+<div id="outline-container-org03c9da8" class="outline-2">
+<h2 id="org03c9da8"><span class="section-number-2">2.</span> Overview</h2>
 <div class="outline-text-2" id="text-2">
 <ul class="org-ul">
 <li>See also: <a href="https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/">CLI Helper JavaDoc</a>.</li>
 </ul>
 
 <p>
-This library is a collection of command-line interface (CLI) helper
-functions that simplifies the process of building and maintaining CLI
-applications. The library provides several different functionalities,
-such as:
+This is library intended to facilitate creation of commandline
+applications in Java programming language. Library is packaged as an
+artifact to Maven repository. This makes it simple to add library as
+dependency to your project.
 </p>
 
+<p>
+Library provides following general functionalities:
+</p>
 <ul class="org-ul">
-<li><a href="#org7e47dc1">Asking for user input</a></li>
-<li><a href="CLI arguments processing.html#ID-46115263-ed3d-4acc-9ec5-523d7acf87b8">Commandline interface arguments processing</a></li>
+<li><a href="#orgf267c1f">Asking for user input</a></li>
+<li><a href="CLI arguments processing.html#ID-46115263-ed3d-4acc-9ec5-523d7acf87b8">Commandline arguments processing</a></li>
 </ul>
 </div>
 
-<div id="outline-container-org7e47dc1" class="outline-3">
-<h3 id="org7e47dc1"><span class="section-number-3">2.1.</span> Ask for user input</h3>
+<div id="outline-container-orgf267c1f" class="outline-3">
+<h3 id="orgf267c1f"><span class="section-number-3">2.1.</span> Ask for user input</h3>
 <div class="outline-text-3" id="text-2-1">
 <dl class="org-dl">
 <dt>askBoolean()</dt><dd>Asks the user to enter a boolean value (yes/no).</dd>
@@ -288,8 +292,8 @@ such as:
 </div>
 </div>
 
-<div id="outline-container-orge7ef3ef" class="outline-2">
-<h2 id="orge7ef3ef"><span class="section-number-2">3.</span> Getting the library</h2>
+<div id="outline-container-orgafc2748" class="outline-2">
+<h2 id="orgafc2748"><span class="section-number-2">3.</span> Getting the library</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 Instructions to embed svjatoslav-commons library in your project:
@@ -324,10 +328,39 @@ Maven pom.xml file snippet:
 </div>
 </div>
 </div>
+<div id="outline-container-org09c922a" class="outline-2">
+<h2 id="org09c922a"><span class="section-number-2">4.</span> TODO:</h2>
+<div class="outline-text-2" id="text-4">
+<p>
+List of improvement suggestions:
+</p>
+
+<ul class="org-ul">
+<li>Add more concrete examples of how to use the library in JavaDoc
+comments. This will help developers quickly get started and learn
+the API.</li>
+
+<li>Provide more comprehensive unit tests for CliHelper,
+ParameterParser, Options and subclasses. This will ensure robustness
+and stability.</li>
+
+<li>Add JavaDoc comments to all classes and methods where
+applicable. This will provide better visibility into the library's
+functionality for developers.</li>
+
+<li>Add more option types like date/time, regular expression etc.</li>
+
+<li>Document best practices for using the library in a larger project.</li>
+
+<li>Implement support for more complex CLI applications like option
+dependencies and conflicts resolution.</li>
+</ul>
+</div>
+</div>
 </div>
 <div id="postamble" class="status">
 <p class="author">Author: Svjatoslav Agejenko</p>
-<p class="date">Created: 2023-10-12 Thu 22:18</p>
+<p class="date">Created: 2023-10-23 Mon 00:22</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index dde84b2..6ed2f6e 100644 (file)
 
 - See [[https://www3.svjatoslav.eu/projects/cli-helper/apidocs/][JavaDoc]]
 
-* Library contents
+* Overview
 :PROPERTIES:
 :ID:       fef7ebc3-0f00-4b82-a926-c0cfdf709762
 :END:
 - See also: [[https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/][CLI Helper JavaDoc]].
 
-This library is a collection of command-line interface (CLI) helper
-functions that simplifies the process of building and maintaining CLI
-applications. The library provides several different functionalities,
-such as:
+This is library intended to facilitate creation of commandline
+applications in Java programming language. Library is packaged as an
+artifact to Maven repository. This makes it simple to add library as
+dependency to your project.
 
+Library provides following general functionalities:
 - [[id:4fca35e4-fdf1-4675-a36f-6206d6fb72cb][Asking for user input]]
-- [[id:46115263-ed3d-4acc-9ec5-523d7acf87b8][Commandline interface arguments processing]]
+- [[id:46115263-ed3d-4acc-9ec5-523d7acf87b8][Commandline arguments processing]]
 
 ** Ask for user input
 :PROPERTIES:
@@ -74,3 +75,25 @@ Maven pom.xml file snippet:
     ...
 </repositories>
 #+END_SRC
+* TODO:
+
+List of improvement suggestions:
+
+- Add more concrete examples of how to use the library in JavaDoc
+  comments. This will help developers quickly get started and learn
+  the API.
+
+- Provide more comprehensive unit tests for CliHelper,
+  ParameterParser, Options and subclasses. This will ensure robustness
+  and stability.
+
+- Add JavaDoc comments to all classes and methods where
+  applicable. This will provide better visibility into the library's
+  functionality for developers.
+
+- Add more option types like date/time, regular expression etc.
+
+- Document best practices for using the library in a larger project.
+
+- Implement support for more complex CLI applications like option
+  dependencies and conflicts resolution.