-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEvaluateSoftwareLib.html
201 lines (183 loc) · 8.4 KB
/
EvaluateSoftwareLib.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!--
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://github.com/girish17/girish17.github.io/blob/master/EvaluateSoftwareLib.html">here</a>
</p>
</footer>
</article>
</body>
</html>