[Python] algoritmo di Collatz

Enrico Franchi enrico.franchi a gmail.com
Lun 2 Maggio 2011 08:12:37 CEST


Daniele Varrazzo wrote:

> -1. Perche fracassare continuamente i marroni ai principianti col bon ton?
> Se sta giusto cominciando con un ciclo while è inutile menarla con le
> lezioni di stile: "non la segue nemmeno di striscio" perché 8 su 10 non sa
> neanche cosa sia*e va bene*.

Sapere che esiste non e' male. molte norme ivi contenute sono piuttosto 
buone e non particolarmente difficili. Dopotutto uno una /qualche/ 
convenzione interna la deve pur adottare. Tanto vale che sia quella 
adottata dalla maggior parte dei pythonisti. Certe cose sono davvero 
usatissime.

Per le finezze c'e' tempo, poi. Ma intanto le cose di base uno le prende 
automatiche. Tipicamente prima uno lo fa e prima si velocizza.

Poi aggiungo: sulla mia esperienza, l'ordine /formale/ aiuta moltissimo 
chi inizia a vedere le cose egli stesso.

Oltretutto mica mi son preso la briga di rispondere solo per la pep8. Ho 
risposto nel merito del messaggio (e IMHO li i generatori sono proprio 
pennellati). E fra le varie cose, ci metto anche quella. Perche' no?


> (parlo al plurale perchè lo fate in tanti): Il sottotitolo del PEP 8 è "A
> Foolish Consistency is the Hobgoblin of Little Minds". Perché questo punto
> lo saltate sempre? Se uno ha chiesto aiuto su 4 righe di codice siamo
> esattamente nell'area della "sciocca consistenza" a chiedere una coding
> convention.

Dipende dal livello di temperamento di cazzi che uno fa oltre a 
segnalare il fatto. Potrei capire se fossi(mo) stati a menarla sul modo 
in cui vanno formattati i dict letterali. Ma non credo che a chi scrive 
cambi molto scrivere A o a, basta che legga una volta la PEP8. Cambia 
invece per chi legge... se vuoi poco, su uno script cosi' piccolo. Pero' 
fra equivalenti, perche' non prendere quello piu' diffuso?

Per me uno dei valori aggiunti di stare in area Python e' proprio che 
spesso e volentieri anche piccoli progetti trovati in giro seguono buone 
convenzioni, sono ordinati, etc etc etc. Questo per me e' comodissimo e 
bellissimo. Il modo in cui avviene credo che sia semplicemente facendo 
si che chi comincia sia a conoscenza del fatto che la PEP8 esiste.

Poi ci possono essere mille motivi per non seguirla (e.g., mischiare 
pesantemente con Qt fa venire voglia di scrivere anche i propri metodi 
in mixedCase, idem se si sta usando Jython su un progetto Java) o altro 
ancora. Per ogni regola ci sono buoni motivi per non seguirla, ma questo 
non vuole dire che in mancanza di tali motivi sia meglio seguirla.

-- 
.
..: -enrico-



Maggiori informazioni sulla lista Python