<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - hl037</title>
		<link>https://www.developpez.net/forums/blogs/405243-hl037/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Wed, 09 Sep 2026 21:19:17 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - hl037</title>
			<link>https://www.developpez.net/forums/blogs/405243-hl037/</link>
		</image>
		<item>
			<title><![CDATA[Liste d'erreurs de programmation à la con sur lesquelles on passe des heurs quand on est un peu fatigués]]></title>
			<link>https://www.developpez.net/forums/blogs/405243-hl037/b316/liste-d-erreurs-programmation-con-lesquelles-on-passe-heurs-on-fatigues/</link>
			<pubDate>Sat, 07 Mar 2015 01:46:01 GMT</pubDate>
			<description>Bonjour, 
Dans ce ticket, je...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
Dans ce ticket, je vais lister les petites erreurs vraiment à la con qui m'ont fait perdre du temps à un moment...<br />
<br />
Effectivement, quand il est 3h du mat, que vous êtes crevés, que vous avez un projet à rendre pour le lendemain (car évidemment, vous vous y êtes mis au dernier moment, grand classique...), Il y a parfois ces saletés de bugs que vous ne pouvez pas localiser. Premièrement à cause de la fatigue, ensuite à cause du stress et enfin parce que vos yeux PIQUENT et que vous voyez à peine l'écran.<br />
<br />
Bref... c'est la galère, ça ne marche pas alors que tout semble ok.<br />
<br />
Je vais vous lister là quelques-unes de mes perles en la matière :<br />
<hr /><br />
TOP 4 :<br />
<br />
L'erreur est dans lib :<br />
<br />
Si votre code est clean, n'hésitez pas à jeter un coup d'œil dans celui de la bibliothèque...<br />
2 jours de perdus en développement embarqué à cause d'un c-c/c-v foireux dans les sources d'une lib Texas Instrument. Un caractère à modifier, mais qui nécessitait de nombreuse heurs de recherche dans les specs (surtout c'était lors d'un stage, et que c'était mes premier pas dans la programmation de microcontrôleurs)<br />
<hr /><br />
TOP 3:<br />
<br />
Les options du context ssl ne marche pas dans python :<br />
<br />
Celle qui m'a fait perdre 30 minutes ce soir (et qui m'a motivé à écrire ce post), le paramétrage du context ssl qui ne marche pas :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.load_verify_locations(cafile=settings.ca_cert)
context.check_hostname = False
context.verify_mode = ssl.CERT_REQUIRED
context.verify_flags = ssl.VERIFY_DEFAULT
print(context.get_ca_certs())

s = ssl.wrap_socket(socket.socket(socket.AF_INET))</pre></td></tr></table></pre>
</div>Le problème étant que <div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">s.geteercert()</pre>
</div> renvoyait <div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">{}</pre>
</div>, dont les causes peuvent être multiples...<br />
Sauf que si on appelle wrap_context depuis le module... tout le code du dessus ne sert à rien...<br />
<hr /><br />
TOP 2:<br />
<br />
Le if toujours vrai :<br />
<br />
Lors d'un concours de programmation (Prologin, quand j'étais un peu plus jeune), codant en C, je suis tombé sur cette curiosité : le if toujours vrai :<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:96px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0">
if( 0 );
{
    print(&quot;true&quot;);
}</pre></td></tr></table></pre>
</div>Ok, ça paraît évident, mais quand la condition est plus longue, qu'on a pas dormi depuis 32h, on ne voit pas forcément le ';'... 1h de perdue, et même des admins du concours y ont passé pas mal de temps... (eux n'ayant pas dormi depuis 40h)<br />
<hr /><br />
TOP 1:<br />
<br />
À 1 pixel et des poussières près... :<br />
Enfin, mon erreur la plus vicieuse... encore à Prologin (demi-finale), le code passe tous les tests sauf le dernier. En réalité, l'algorithme et le code était bel et bien fonctionnels. Cependant, j'ai cette habitude d'utiliser la font la plus petite possible quand je code pour avoir plus de ligne sous les yeux... (l'horible &quot;[Fixed misc]&quot; en taille 8 disponible dans Kate). Cette font ainsi réglée est si petite qu'un 'c' diffère d'un 'o' par seulement 1 pixel (véridique). Or, il y avait une poussière juste où était mon c. En plus de cela, un c n'était pas totalement absurde à cette endroit (Au passage, toujours utiliser des noms de variable comportant plus d'une seule lettre ;) ).<br />
2h de débogage (et quand même qualifié pour la finale où je perdrai du temps avec le if toujours vrai) :)<br />
<hr /><br />
Je compléterai ce poste au rythme de mes mauvaises expériences et vos commentaire :)<br />
<br />
N'hésitez donc pas à partager vos erreurs cocaces ^^</blockquote>

]]></content:encoded>
			<dc:creator>hl037</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/405243-hl037/b316/liste-d-erreurs-programmation-con-lesquelles-on-passe-heurs-on-fatigues/</guid>
		</item>
	</channel>
</rss>
