<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">On Fri, May 29, 2020 at 11:35 AM Enrico Bianchi <<a href="mailto:enrico.bianchi@live.com">enrico.bianchi@live.com</a>> wrote:</span><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="IT">
<div class="gmail-m_2938053420026031403WordSection1">
<p class="MsoNormal">Dato che è venerdì, e che ci si avvicina ad un fine settimana lungo (causa probabile ponte per molti), mi chiedevo: qual è il codice più orribile che avete scritto visto? Parto io con questo (in produzione):</p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">def stateDict():<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> stateNames = ['ABSENT','IDLE','STARTED','STOPPED']<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> return dict([(stateNames[i],i) for i in range(0,len(stateNames))])<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">def state_by_code(code):<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> d = stateDict()<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> return dict([(v,k) for k,v in d.items()])[code]<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">def showState(STATES,state):<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ST = dict([(str(v),k) for k,v in STATES.items()])<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> return ST[str(state)]</span></p></div></div></blockquote><div><br></div><div><br></div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small">La cosa più orrenda di tutte è che se un domani qualcuno aggiunge uno stato in mezzo agli altri, tutti i dati salvati in precedenza smettono di essere sensati.</div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small">In questi casi io preferisco salvare uno slug descrittivo come code e mai un codice numerico.</div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small">Ciao.<br>Marco.</div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><br></div></div></div>