123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- <!--
- girishm.nfshost.com is the source for webpage (www.girishm.info or its alias www.girishm.nfshost.com) of Girish M
- Copyright © 2019 to present, Girish M
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>
- -->
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>How to evaluate a software library?</title>
- <style>
- * {
- font-family: Georgia, Cambria, "Times New Roman", Times, serif;
- }
- html,
- body {
- margin: 0;
- padding: 0;
- }
- h1 {
- font-size: 50px;
- margin-bottom: 17px;
- color: #333;
- }
- h2 {
- font-size: 24px;
- line-height: 1.6;
- margin: 30px 0 0 0;
- margin-bottom: 18px;
- margin-top: 33px;
- color: #333;
- }
- h3 {
- font-size: 30px;
- margin: 10px 0 20px 0;
- color: #333;
- }
- header {
- width: 640px;
- margin: auto;
- }
- section {
- width: 640px;
- margin: auto;
- }
- section p {
- margin-bottom: 27px;
- font-size: 20px;
- line-height: 1.6;
- color: #333;
- }
- section img {
- max-width: 640px;
- }
- footer {
- padding: 0 20px;
- margin: 50px 0;
- text-align: center;
- font-size: 12px;
- }
- .aspectRatioPlaceholder {
- max-width: auto !important;
- max-height: auto !important;
- }
- .aspectRatioPlaceholder-fill {
- padding-bottom: 0 !important;
- }
- header,
- section[data-field=subtitle],
- section[data-field=description] {
- display: none;
- }
- </style>
- </head>
- <body>
- <article class="h-entry">
- <header>
- <h1 class="p-name">How to evaluate a software library?</h1>
- </header>
- <section data-field="subtitle" class="p-summary">
- Very often we depend on a lot of software libraries for development and testing our custom software. Here are few
- things to keep in mind…
- </section>
- <section data-field="body" class="e-content">
- <section name="7637" class="section section--body section--first section--last">
- <div class="section-divider">
- <hr class="section-divider">
- </div>
- <div class="section-content">
- <div class="section-inner sectionLayout--insetColumn">
- <h3 name="4c93" id="4c93" class="graf graf--h3 graf--leading graf--title">How to evaluate a
- software library?</h3>
- <p name="aa43" id="aa43" class="graf graf--p graf-after--h3">Very often we depend on a lot of software
- libraries for development and testing our custom software. Here are few things to keep in mind in doing so
- -</p>
- <ol class="postList">
- <li name="51c0" id="51c0" class="graf graf--li graf-after--p">We should go through the <em
- class="markup--em markup--li-em">README.md</em> file (if it exists, most of them <em
- class="markup--em markup--li-em">do), </em>releases and tags to identify how frequently the changes
- are made and the kind of bug fixes turned in</li>
- <li name="cda0" id="cda0" class="graf graf--li graf-after--li">Download the source and build it. This
- gives us an idea whether the current version available is well maintained or not. Ideally, cloning from
- the repository (instead of downloading as a release in the form of tar or zip) and building it on a
- local machine should help us in estimation of time involved. This also allows us to understand the
- settings and configurations needed and whether the repository is well documented or not</li>
- <li name="502f" id="502f" class="graf graf--li graf-after--li">Then, we should try out an example if it is
- mentioned in the repository or some found online. This should get us started. Most of the times we would
- end up cloning the repository and sifting across different folders to figure out if there were a way to
- execute it (happens most of the times in my case!)</li>
- <li name="3bd5" id="3bd5" class="graf graf--li graf-after--li">Then we must try to tweak the sample
- application to do some extra functions. For example — If we happen to evaluate say a graph plotting
- library then we can try changing the code to add an additional data point or an axes (too naive but
- useful!). We should try to extend the existing library by adding a small enhancement say like adding a
- color template/theme. A line graph could just be plotting the curve, we can maybe try to display the
- coordinates inline. This makes us feel more comfortable with the library. We also get an idea of how
- reusable it is and adding small features does actually make it look prettier</li>
- <li name="1551" id="1551" class="graf graf--li graf-after--li">Having done all these, now we can start
- some sort of a rating (to rate or not to rate is too irate!). We can rate on following aspects — a. ease
- of configuration for example — can I just double click on the executable and viola it’s up and running
- or even better no configuration required (it chooses for me — the <em
- class="markup--em markup--li-em">default) </em>b. resource usage — in terms of memory, CPU, network c.
- support — check those IRC channels, chats and comments in the community</li>
- </ol>
- </div>
- </div>
- </section>
- </section>
- <footer>
- <!-- <p>-->
- <!-- <h3>Want me to write more?</h3>-->
- <!-- <div id="paypal-button-container"></div>-->
- <!-- <script src="https://www.paypal.com/sdk/js?client-id=AaLH7GRw2dvpLPvQFOJ_CENpAod_I9_3zJyIXM5alQP245nr6_u-WkXfLqkG3XmCUeyPbbsBQU99q7B5&vault=true&intent=subscription" data-sdk-integration-source="button-factory"></script>-->
- <!-- <script>-->
- <!-- paypal.Buttons({-->
- <!-- style: {-->
- <!-- shape: 'rect',-->
- <!-- color: 'silver',-->
- <!-- layout: 'vertical',-->
- <!-- label: 'subscribe'-->
- <!-- },-->
- <!-- createSubscription: function(data, actions) {-->
- <!-- return actions.subscription.create({-->
- <!-- 'plan_id': 'P-7J9812355A9780533L7AI2HQ'-->
- <!-- });-->
- <!-- },-->
- <!-- onApprove: function(data, actions) {-->
- <!-- alert(data.subscriptionID);-->
- <!-- }-->
- <!-- }).render('#paypal-button-container');-->
- <!-- </script>-->
- <!-- </p>-->
- <!-- <p>-->
- <!-- <a href="https://www.patreon.com/bePatron?u=49125356" data-patreon-widget-type="become-patron-button">Become a Patron!</a>-->
- <!-- <script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script>-->
- <!-- </p>-->
- <p class="author">Author: Girish</p>
- <p class="date">Created: 2021-04-05</p>
- <p>
- <nav class="right">
- <a href="AffairWithCPP.html"><img src="assets/img/previous.jpg" alt="Previous"></a>
- <a href="index.html"><img src="assets/img/home.jpg"></a>
- <a href="freeOrNotFree.html"><img src="assets/img/next.jpg" alt="Next"></a>
- </nav>
- </p>
- <p>Copyright © 2019 to present, Girish M <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img
- alt="Creative Commons License" style="border-width:0" src="assets/img/cc.png" /></a><br />This work is licensed
- under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
- Attribution 4.0 International License</a>. The source for this web-page can be found <a
- href="https://notabug.org/girishm/girishm.nfshost.com/src/test/EvaluateSoftwareLib.html">here</a>
- </p>
- </footer>
- </article>
- </body>
- </html>
|