804 lines
30 KiB
HTML
804 lines
30 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="" lang=""><head>
|
|||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|||
|
<meta charset="utf-8">
|
|||
|
<meta name="generator" content="pandoc">
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
|||
|
<title>-</title>
|
|||
|
<style>
|
|||
|
html {
|
|||
|
line-height: 1.5;
|
|||
|
font-family: Georgia, serif;
|
|||
|
font-size: 20px;
|
|||
|
color: #1a1a1a;
|
|||
|
background-color: #fdfdfd;
|
|||
|
}
|
|||
|
body {
|
|||
|
margin: 0 auto;
|
|||
|
max-width: 36em;
|
|||
|
padding-left: 50px;
|
|||
|
padding-right: 50px;
|
|||
|
padding-top: 50px;
|
|||
|
padding-bottom: 50px;
|
|||
|
hyphens: auto;
|
|||
|
overflow-wrap: break-word;
|
|||
|
text-rendering: optimizeLegibility;
|
|||
|
font-kerning: normal;
|
|||
|
}
|
|||
|
@media (max-width: 600px) {
|
|||
|
body {
|
|||
|
font-size: 0.9em;
|
|||
|
padding: 1em;
|
|||
|
}
|
|||
|
h1 {
|
|||
|
font-size: 1.8em;
|
|||
|
}
|
|||
|
}
|
|||
|
@media print {
|
|||
|
body {
|
|||
|
background-color: transparent;
|
|||
|
color: black;
|
|||
|
font-size: 12pt;
|
|||
|
}
|
|||
|
p, h2, h3 {
|
|||
|
orphans: 3;
|
|||
|
widows: 3;
|
|||
|
}
|
|||
|
h2, h3, h4 {
|
|||
|
page-break-after: avoid;
|
|||
|
}
|
|||
|
}
|
|||
|
p {
|
|||
|
margin: 1em 0;
|
|||
|
}
|
|||
|
a {
|
|||
|
color: #1a1a1a;
|
|||
|
}
|
|||
|
a:visited {
|
|||
|
color: #1a1a1a;
|
|||
|
}
|
|||
|
img {
|
|||
|
max-width: 100%;
|
|||
|
}
|
|||
|
h1, h2, h3, h4, h5, h6 {
|
|||
|
margin-top: 1.4em;
|
|||
|
}
|
|||
|
h5, h6 {
|
|||
|
font-size: 1em;
|
|||
|
font-style: italic;
|
|||
|
}
|
|||
|
h6 {
|
|||
|
font-weight: normal;
|
|||
|
}
|
|||
|
ol, ul {
|
|||
|
padding-left: 1.7em;
|
|||
|
margin-top: 1em;
|
|||
|
}
|
|||
|
li > ol, li > ul {
|
|||
|
margin-top: 0;
|
|||
|
}
|
|||
|
blockquote {
|
|||
|
margin: 1em 0 1em 1.7em;
|
|||
|
padding-left: 1em;
|
|||
|
border-left: 2px solid #e6e6e6;
|
|||
|
color: #606060;
|
|||
|
}
|
|||
|
code {
|
|||
|
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
|||
|
font-size: 85%;
|
|||
|
margin: 0;
|
|||
|
}
|
|||
|
pre {
|
|||
|
margin: 1em 0;
|
|||
|
overflow: auto;
|
|||
|
}
|
|||
|
pre code {
|
|||
|
padding: 0;
|
|||
|
overflow: visible;
|
|||
|
overflow-wrap: normal;
|
|||
|
}
|
|||
|
.sourceCode {
|
|||
|
background-color: transparent;
|
|||
|
overflow: visible;
|
|||
|
}
|
|||
|
hr {
|
|||
|
background-color: #1a1a1a;
|
|||
|
border: none;
|
|||
|
height: 1px;
|
|||
|
margin: 1em 0;
|
|||
|
}
|
|||
|
table {
|
|||
|
margin: 1em 0;
|
|||
|
border-collapse: collapse;
|
|||
|
width: 100%;
|
|||
|
overflow-x: auto;
|
|||
|
display: block;
|
|||
|
font-variant-numeric: lining-nums tabular-nums;
|
|||
|
}
|
|||
|
table caption {
|
|||
|
margin-bottom: 0.75em;
|
|||
|
}
|
|||
|
tbody {
|
|||
|
margin-top: 0.5em;
|
|||
|
border-top: 1px solid #1a1a1a;
|
|||
|
border-bottom: 1px solid #1a1a1a;
|
|||
|
}
|
|||
|
th {
|
|||
|
border-top: 1px solid #1a1a1a;
|
|||
|
padding: 0.25em 0.5em 0.25em 0.5em;
|
|||
|
}
|
|||
|
td {
|
|||
|
padding: 0.125em 0.5em 0.25em 0.5em;
|
|||
|
}
|
|||
|
header {
|
|||
|
margin-bottom: 4em;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
#TOC li {
|
|||
|
list-style: none;
|
|||
|
}
|
|||
|
#TOC ul {
|
|||
|
padding-left: 1.3em;
|
|||
|
}
|
|||
|
#TOC > ul {
|
|||
|
padding-left: 0;
|
|||
|
}
|
|||
|
#TOC a:not(:hover) {
|
|||
|
text-decoration: none;
|
|||
|
}
|
|||
|
code{white-space: pre-wrap;}
|
|||
|
span.smallcaps{font-variant: small-caps;}
|
|||
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|||
|
div.column{flex: auto; overflow-x: auto;}
|
|||
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|||
|
ul.task-list{list-style: none;}
|
|||
|
ul.task-list li input[type="checkbox"] {
|
|||
|
width: 0.8em;
|
|||
|
margin: 0 0.8em 0.2em -1.6em;
|
|||
|
vertical-align: middle;
|
|||
|
}
|
|||
|
</style>
|
|||
|
<!--[if lt IE 9]>
|
|||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
|||
|
<![endif]-->
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<h1 id="gem-graph-client">Gem-graph client</h1>
|
|||
|
<p>version <code>0.0</code> commit
|
|||
|
<code>8ce7191df3652ddd6284c4ac6d8d42c3cf32d2d5</code></p>
|
|||
|
<h2 id="audit-de-code-source-et-structure-de-projet">Audit de code
|
|||
|
source et structure de projet</h2>
|
|||
|
<h3 id="arborescence-des-sources">Arborescence des sources</h3>
|
|||
|
<p>Voici l’arborescence de la version actuelle du projet.</p>
|
|||
|
<pre><code>├── data
|
|||
|
│ ├── dimers random walk.xml
|
|||
|
│ ├── image
|
|||
|
│ │ ├── [...]
|
|||
|
│ └── text
|
|||
|
│ ├── [...]
|
|||
|
├── include
|
|||
|
│ ├── automat.h
|
|||
|
│ ├── base.h
|
|||
|
│ ├── calls.h
|
|||
|
│ ├── graph.h
|
|||
|
│ ├── parse.h
|
|||
|
│ └── widgets.h
|
|||
|
├── Makefile
|
|||
|
├── manifest.scm
|
|||
|
├── [...]
|
|||
|
└── src
|
|||
|
├── automat.c
|
|||
|
├── calls.c
|
|||
|
├── graph.c
|
|||
|
│ ├── area.c
|
|||
|
│ ├── draw.c
|
|||
|
│ ├── grid.c
|
|||
|
│ ├── init.c
|
|||
|
│ ├── shader.frag
|
|||
|
│ ├── shader.vert
|
|||
|
│ └── stack.c
|
|||
|
├── main.c
|
|||
|
├── parse.c
|
|||
|
└── widget.c
|
|||
|
├── heads.c
|
|||
|
├── labo.c
|
|||
|
├── rules.c
|
|||
|
├── state.c
|
|||
|
├── stock.c
|
|||
|
└── tree.c
|
|||
|
|
|||
|
8 dossiers, 46 fichiers</code></pre>
|
|||
|
<p>Un certain nombre d’élements doivent être respectés :</p>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">séparation
|
|||
|
code/headers</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">séparation
|
|||
|
data/code</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">prise en compte de
|
|||
|
la structure dans le Makefile</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">1 header = 1
|
|||
|
sous-dossier ou fichier de <code>src</code>, excepté
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">chaque sous-dossier
|
|||
|
de <code>src</code> constitue un module clairement défini</li>
|
|||
|
</ul>
|
|||
|
<p>Erreurs critiques :</p>
|
|||
|
<ul>
|
|||
|
<li>les sous-dossiers de <code>src</code> sont nommés comme des fichiers
|
|||
|
(<code>*.c</code>)</li>
|
|||
|
<li>le module <code>widget</code> est mal nommé car il est pointé par le
|
|||
|
header <code>widgets.h</code></li>
|
|||
|
</ul>
|
|||
|
<h3 id="analyse-formelle-des-sources">Analyse formelle des sources</h3>
|
|||
|
<p>Généralités :</p>
|
|||
|
<ul>
|
|||
|
<li>le style du code manque de systématisme
|
|||
|
<ul>
|
|||
|
<li>la longueur des tabulations varie entre les fichiers</li>
|
|||
|
</ul></li>
|
|||
|
<li>beaucoup de problèmes critiques (voir ci-après)</li>
|
|||
|
</ul>
|
|||
|
<h4 id="analyse-des-headers">Analyse des headers</h4>
|
|||
|
<p>Problèmes critiques relevés :</p>
|
|||
|
<ul>
|
|||
|
<li>3 headers sont mal nommés</li>
|
|||
|
<li>6 headers contiennent un en-tête de licence valide selon la norme
|
|||
|
SPDX</li>
|
|||
|
<li>4 headers ne contiennent une directive <code>pragma once</code></li>
|
|||
|
<li>0 headers incluent <code>base.h</code> indûment</li>
|
|||
|
<li>1 headers n’ont pas un style de commentaire minimal et
|
|||
|
systématique</li>
|
|||
|
<li>5 headers n’ont pas un style de code/déclaration du projet
|
|||
|
respecté</li>
|
|||
|
<li>1 headers ne présentent pas des commentaires clairs et utiles</li>
|
|||
|
<li>5 headers ont au moins une fonction non documentée</li>
|
|||
|
<li>3 headers nomment mal les fonctions du module</li>
|
|||
|
</ul>
|
|||
|
<h5 id="baseh-critique-à-retravailler">base.h <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">contient une
|
|||
|
directive <code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">n’inclut pas
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de commentaire minimal et
|
|||
|
systématique<ul>
|
|||
|
<li>commentaires au style non systématiques</li>
|
|||
|
<li>symboles inutiles (<)</li>
|
|||
|
<li>espacement incorrect</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>enum et struct invalides</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">chaque fonction est
|
|||
|
nommée selon le module (non applicable)</li>
|
|||
|
</ul>
|
|||
|
<h5 id="automath-critique-à-retravailler">automat.h
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>automate est un terme français non traduisible pour ce contexte</li>
|
|||
|
<li>le terme habituel en informatique est Finite State Machine</li>
|
|||
|
<li>fsm.h ? (serait compris par le plus grand nombre)</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient une directive
|
|||
|
<code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">n’inclut pas
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>enum invalides</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li><code>xor</code> est totalement incompréhensible et inutile</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est nommée
|
|||
|
selon le module<ul>
|
|||
|
<li>les fonctions ne portent pas le préfixe <code>automat_</code></li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="callsh-critique-à-retravailler">calls.h <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>calls != callbacks, titre trompeur</li>
|
|||
|
<li>calls => syscalls… or ça n’a rien à voir !!!</li>
|
|||
|
<li>GTK appelle callbacks ce que la théorie nomme évènements (voir
|
|||
|
“programmation évenementielle”)</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient une directive
|
|||
|
<code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">n’inclut pas
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères par ligne</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">chaque fonction est
|
|||
|
nommée selon le module<ul>
|
|||
|
<li>les fonctions portent le préfixe <code>on_</code>, courant pour un
|
|||
|
module d’évènements</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="graphh-critique-à-retravailler">graph.h <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>graph != graphics, titre trompeur</li>
|
|||
|
<li>en anglais, graph est un mot complet et pas l’abbréviation de
|
|||
|
graphics</li>
|
|||
|
<li>confusion avec le graph de gem-graph…</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">contient une
|
|||
|
directive <code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">inclut
|
|||
|
<code>base.h</code> (ok car types utilisés)</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères par ligne</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">chaque fonction est
|
|||
|
nommée selon le module<ul>
|
|||
|
<li>les fonctions portent le préfixe <code>graph_</code></li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="parseh-critique-à-retravailler">parse.h <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient une directive
|
|||
|
<code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">n’inclut pas
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
code/déclaration du projet respecté</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est nommée
|
|||
|
selon le module<ul>
|
|||
|
<li>les fonctions ne portent pas le préfixe <code>parse_</code></li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="widgetsh-critique-à-retravailler">widgets.h
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient une directive
|
|||
|
<code>pragma once</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">n’inclut pas
|
|||
|
<code>base.h</code></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite des 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est
|
|||
|
documentée</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">chaque fonction est nommée
|
|||
|
selon le module<ul>
|
|||
|
<li>les fonctions ne portent pas toutes le préfixe
|
|||
|
<code>widget_</code></li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h4 id="analyse-du-code">Analyse du code</h4>
|
|||
|
<p>Problèmes critiques relevés :</p>
|
|||
|
<ul>
|
|||
|
<li>9 fichiers de code ou module sont mal nommés</li>
|
|||
|
<li>15 fichiers de code contiennent un en-tête de licence valide selon
|
|||
|
la norme SPDX</li>
|
|||
|
<li>3 fichiers de code n’ont pas un style de commentaire minimal et
|
|||
|
systématique</li>
|
|||
|
<li>12 fichiers de code n’ont pas un style de code/déclaration du projet
|
|||
|
respecté</li>
|
|||
|
<li>13 fichiers de code ne présentent pas des commentaires clairs et
|
|||
|
utiles</li>
|
|||
|
</ul>
|
|||
|
<h5 id="mainc-critique-à-retravailler">main.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul>
|
|||
|
<li><p><input type="checkbox" disabled="disabled" checked="checked">le nom est clair
|
|||
|
et correspond à une fonctionnalité</p></li>
|
|||
|
<li><p><input type="checkbox" disabled="disabled">contient un en-tête de
|
|||
|
licence valide selon la norme SPDX</p></li>
|
|||
|
<li><p><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
commentaire minimal et systématique</p></li>
|
|||
|
<li><p><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
code/déclaration du projet respecté</p></li>
|
|||
|
<li><p><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires</p></li>
|
|||
|
<li><p><code>@:340</code> l’id de l’application est incohérent</p></li>
|
|||
|
</ul>
|
|||
|
<h5 id="automatc-critique-à-retravailler">automat.c
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h5>
|
|||
|
<ul>
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>commentaires inline complètement incompréhensibles/cryptiques</li>
|
|||
|
<li>documentation des fonctions statiques absente</li>
|
|||
|
</ul></li>
|
|||
|
<li>le formattage de variables en mi-minuscule mi-majuscule est
|
|||
|
illisible</li>
|
|||
|
<li>l’utilisation du terme “prescribed” est inhabituel et
|
|||
|
incompréhensible</li>
|
|||
|
<li><code>@:101:get_str_STATE_RULES_DATA()</code> très sous-optimal
|
|||
|
<ul>
|
|||
|
<li>on ne devrait jamais retourner des chaînes de caractères.</li>
|
|||
|
<li>un tableau de hashage ferait mieux l’affaire qu’une fonction avec un
|
|||
|
switch</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="callsc-critique-à-retravailler">calls.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul>
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>documentation des fonctions statiques absente</li>
|
|||
|
<li>certains commentaires perfectibles</li>
|
|||
|
</ul></li>
|
|||
|
<li>le formattage de fonction en mi-minuscule mi-majuscule est
|
|||
|
illisible</li>
|
|||
|
<li>de manière générale, le nommage des évènements est peu clair
|
|||
|
<ul>
|
|||
|
<li>il faut séparer l’outil de ce qu’il représente (bouton vs
|
|||
|
états)</li>
|
|||
|
</ul></li>
|
|||
|
<li><code>@:249:switch_STATE_RULES_DATA()</code>
|
|||
|
<ul>
|
|||
|
<li>le switch pourrait être remplacé par une table de hashage de
|
|||
|
pointeurs sur fonction (beaucoup plus optimal)</li>
|
|||
|
<li>le nommage de cette fonction est trompeur (ça ne switch pas
|
|||
|
l’état)</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="parsec-critique-à-retravailler">parse.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>documentation des fonctions statiques absente</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="module-graphc-critique-à-retravailler">module graph.c
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité</li>
|
|||
|
</ul>
|
|||
|
<h6 id="areac-critique-à-retravailler">area.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>ne gère pas une “area” mais gère une pile d’area et leurs
|
|||
|
environnements</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>manque pas mal de commentaires, des fonctions sont documentés au
|
|||
|
mauvais endroit</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="drawc-critique-à-retravailler">draw.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>ne gère pas une “area” mais gère une pile d’area et leurs
|
|||
|
environnements</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>manque pas mal de commentaires, des fonctions sont documentés au
|
|||
|
mauvais endroit</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="gridc-critique-à-retravailler">grid.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de commentaire minimal et
|
|||
|
systématique<ul>
|
|||
|
<li>les commentaires inline sont mal formatés</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>QUASI RIEN !</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="initc-critique-à-retravailler">init.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement de la limite de 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">clarté et utilité
|
|||
|
des commentaires<ul>
|
|||
|
<li>peut toujours mieux faire mais ok</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="shaderfrag-critique-à-retravailler">shader.frag
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
code/déclaration du projet respecté</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>à commenter</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="shadervert-critique-à-retravailler">shader.vert
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
code/déclaration du projet respecté</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>à commenter</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="stackc-critique-à-retravailler">stack.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de
|
|||
|
code/déclaration du projet respecté</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>il faut commenter davantage, c’est trop peu</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h5 id="module-widgetc-critique-à-retravailler">module widget.c
|
|||
|
<code>[critique]</code> <code>[à retravailler]</code></h5>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
</ul>
|
|||
|
<h6 id="headsc-critique-à-retravailler">heads.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>heads != headers…</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement limite 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>il faut commenter, quasi rien de fait</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="laboc-critique-à-retravailler">labo.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<p><em>You who enter here, leave all hope of an understandable
|
|||
|
code</em></p>
|
|||
|
<p>Ok, je saute.</p>
|
|||
|
<h6 id="rulesc-critique-à-retravailler">rules.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul>
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>confusion entre l’outil (les arbres, les treeview, etc) et la
|
|||
|
structure de données affichée (règles).</li>
|
|||
|
<li>à nommer différemment, selon la fonction réelle</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement limite 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>il faut commenter, quasi rien de fait</li>
|
|||
|
</ul></li>
|
|||
|
<li><code>@:32</code> En GTK4, il ne faut jamais utiliser la taille de
|
|||
|
fenêtre comme comme référence ou aide au layout. Ce n’est pas dans
|
|||
|
l’esprit de l’API. On utilisera plutôt les méthodes de layout (GtkGrid
|
|||
|
par exemple).</li>
|
|||
|
<li>de manière générale : les fonctions commençant par <code>get</code>
|
|||
|
devraient être des des getters. C’est à dire renvoyer des valeurs et non
|
|||
|
pas des widgets ! C’est un nommage trompeur et problématique.</li>
|
|||
|
</ul>
|
|||
|
<h6 id="statec-critique-à-retravailler">state.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul>
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>nom trop commun et pas assez clair</li>
|
|||
|
<li>state machine (c’est ce que c’est) mais en terme de widget ?</li>
|
|||
|
<li>séparer la logique des widgets est nécessaire</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de commentaire minimal et
|
|||
|
systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement limite 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>il faut commenter, quasi rien de fait</li>
|
|||
|
</ul></li>
|
|||
|
<li><code>@:34</code> En GTK4, il ne faut jamais utiliser la taille de
|
|||
|
fenêtre comme comme référence ou aide au layout. Ce n’est pas dans
|
|||
|
l’esprit de l’API. On utilisera plutôt les méthodes de layout (GtkGrid
|
|||
|
par exemple).</li>
|
|||
|
<li>de manière générale : les fonctions commençant par <code>get</code>
|
|||
|
devraient être des des getters. C’est à dire renvoyer des valeurs et non
|
|||
|
pas des widgets ! C’est un nommage trompeur et problématique.</li>
|
|||
|
</ul>
|
|||
|
<h6 id="stockc-critique-à-retravailler">stock.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled">le nom est clair et correspond
|
|||
|
à une fonctionnalité<ul>
|
|||
|
<li>???</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">style de commentaire
|
|||
|
minimal et systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement limite 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>pas du tout commenté</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
<h6 id="treec-critique-à-retravailler">tree.c <code>[critique]</code>
|
|||
|
<code>[à retravailler]</code></h6>
|
|||
|
<ul class="task-list">
|
|||
|
<li><input type="checkbox" disabled="disabled" checked="checked">le nom est clair et
|
|||
|
correspond à une fonctionnalité</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">contient un en-tête de licence
|
|||
|
valide selon la norme SPDX</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de commentaire minimal et
|
|||
|
systématique</li>
|
|||
|
<li><input type="checkbox" disabled="disabled">style de code/déclaration du
|
|||
|
projet respecté<ul>
|
|||
|
<li>dépassement limite 80 caractères</li>
|
|||
|
</ul></li>
|
|||
|
<li><input type="checkbox" disabled="disabled">clarté et utilité des
|
|||
|
commentaires<ul>
|
|||
|
<li>pas assez commenté</li>
|
|||
|
</ul></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
|
|||
|
</body></html>
|