|
|
|
![]() |
|
Strumenti |
![]() |
#61 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Un'ultima cosa: scusa, ma non eri tu ad avere un CRT con risoluzione 2048 per 1538? http://www.hwupgrade.it/forum/showth...8&page=2&pp=20
Tu con Emacs e senza i pannelli laterali degli IDE ti lamenti per i programmi che si sviluppano troppo in orizzontale?!? Io lavoro con gli IDE, al massimo a 1280x1024, e riesco a vedere quasi tutto il codice che scrivo...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#62 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
sn perfettamente d'accordo e lo scrissi molto alla buona qlc tempo fà. Il wide và bene per alcuni utilizzi e per altri meno, soprattutto per tutti quelli che hanno a che fare con il web e lo sviluppo nel web occorrono risoluzioni standard 4:3 altrimenti occorre fare lavori certosini e accrocchi per evitare di andare fuori "specifica" e costringere l'utente allo scrolling ( il che significa rendere un qls sito non usabile o poco usabile). Per questo i wide non mi entusiasmano anche se sn accompagnati spesso a monitor di ottima fattura con tecnologie sicuramente promettenti ( alla Trubrite o CrystalView per intenderci...anche se l'eccessiva luminosità n mi appassiona). Sicuramente il fatto di poter usare il note come lettore DVD trasportabile ha inciso parecchio nella strategia dei vari produttori/assemblatori, ma spero vivamente che continuino a fornire la doppia scelta per il futuro. |
|
![]() |
![]() |
![]() |
#63 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Forse non ci siamo capiti... Quando si parla di 3 livelli di indentazione...
Per 3 livelli di indentazione ci si puo' riferire "all'indentazione sintattica" e ai "livelli di ramificazione". Io parlavo dei livelli di ramificazione. Mi riferivo a codice del tipo: Codice:
if (...) while(...) { switch(...) { case x: do { ... } while(...); case y: break; } |
![]() |
![]() |
![]() |
#64 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() Già con i programmi KDE che sono scritti per la maggiorparte con KDevelop soffrono di questo problema. Ma li è irrilevante perchè KDevelop è l'IDE supportato ufficialmente dal progetto. |
|
![]() |
![]() |
![]() |
#65 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() ![]() Vorrei sapere a quante aziende esterne viene data la concessione di lavorare su codice sorgente ST Microelectronics. |
|
![]() |
![]() |
![]() |
#66 |
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Lavoro molto anche io con gli IDE della famiglia VS.NET. Allo stesso tempo, lavoro molto anche con Vim ed Anjuta.
La soluzione ai miei problemi la trovai diverso tempo fa, semplicemente facendomi un sistema dual monitor, con crt da 19" entrambi a 1280x1024. Nonostante questa "disponibilità" visiva, inevitabilmente tendo a scrivere in `verticale` anzichè in `orizzontale`, ma lo faccio naturalmente, e mi torna utile anche quando sono in giro presso i clienti, col portatile o direttamente sulle macchine che seguo, dove trovo anche monitor 15" e ho talvolta necessità di mettere mano al sorgente delle applicazioni. Ora sinceramente non mi preoccupo più tanto dello `stile` in quanto ciò che scrivo il 99% delle volte dovrò leggerlo solo io, ma in passato che ho gestito alcune persone che dovevano leggere il codice o dalle quali dovevo leggere, ho preferito seguire una via appunto più `verticale`. Paradossalmente però, questa piccola esigenza non nacque in ambito *nix, ma proprio quando lavoravamo molto con gli splendidi tool VS, che, in un certo senso ti portano naturalmente a estendere la scrittura del codice anche oltre la visuale. Ovviamente erano dolori per chi non aveva le stesse mie risoluzioni ![]() Credo comunque che come ogni cosa, l'ambito nel quale si svolge il proprio compito sia ciò che detta le regole del caso.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
![]() |
![]() |
![]() |
#67 | |
Senior Member
Iscritto dal: Mar 2000
Città: napoletano trapiantato a Roma
Messaggi: 3813
|
Quote:
|
|
![]() |
![]() |
![]() |
#68 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
"L'indentazione è una tecnica di scrittura del codice sorgente dei programmi. Consiste nello spostare (inserendo degli spazi) le sequenze di istruzioni in maniera tale che risulti molto più evidente al lettore l'organizzazione delle strutture di controllo." Quote:
In ogni caso, il discorso non cambia. Direttamente da exit.c: Codice:
static long do_wait(pid_t pid, int options, struct siginfo __user *infop, int __user *stat_addr, struct rusage __user *ru) { DECLARE_WAITQUEUE(wait, current); struct task_struct *tsk; int flag, retval; add_wait_queue(¤t->signal->wait_chldexit,&wait); repeat: /* * We will set this flag if we see any child that might later * match our criteria, even if we are not able to reap it yet. */ flag = 0; current->state = TASK_INTERRUPTIBLE; read_lock(&tasklist_lock); tsk = current; do { struct task_struct *p; struct list_head *_p; int ret; list_for_each(_p,&tsk->children) { p = list_entry(_p,struct task_struct,sibling); ret = eligible_child(pid, options, p); if (!ret) continue; switch (p->state) { case TASK_TRACED: if (!my_ptrace_child(p)) continue; /*FALLTHROUGH*/ case TASK_STOPPED: /* * It's stopped now, so it might later * continue, exit, or stop again. */ flag = 1; if (!(options & WUNTRACED) && !my_ptrace_child(p)) continue; retval = wait_task_stopped(p, ret == 2, (options & WNOWAIT), infop, stat_addr, ru); if (retval == -EAGAIN) goto repeat; if (retval != 0) /* He released the lock. */ goto end; break; default: // case EXIT_DEAD: if (p->exit_state == EXIT_DEAD) continue; // case EXIT_ZOMBIE: if (p->exit_state == EXIT_ZOMBIE) { /* * Eligible but we cannot release * it yet: */ if (ret == 2) goto check_continued; if (!likely(options & WEXITED)) continue; retval = wait_task_zombie( p, (options & WNOWAIT), infop, stat_addr, ru); /* He released the lock. */ if (retval != 0) goto end; break; } check_continued: /* * It's running now, so it might later * exit, stop, or stop and then continue. */ flag = 1; if (!unlikely(options & WCONTINUED)) continue; retval = wait_task_continued( p, (options & WNOWAIT), infop, stat_addr, ru); if (retval != 0) /* He released the lock. */ goto end; break; } } if (!flag) { list_for_each(_p, &tsk->ptrace_children) { p = list_entry(_p, struct task_struct, ptrace_list); if (!eligible_child(pid, options, p)) continue; flag = 1; break; } } if (options & __WNOTHREAD) break; tsk = next_thread(tsk); if (tsk->signal != current->signal) BUG(); } while (tsk != current); read_unlock(&tasklist_lock); if (flag) { retval = 0; if (options & WNOHANG) goto end; retval = -ERESTARTSYS; if (signal_pending(current)) goto end; schedule(); goto repeat; } retval = -ECHILD; end: current->state = TASK_RUNNING; remove_wait_queue(¤t->signal->wait_chldexit,&wait); if (infop) { if (retval > 0) retval = 0; else { /* * For a WNOHANG return, clear out all the fields * we would set so the user can easily tell the * difference. */ if (!retval) retval = put_user(0, &infop->si_signo); if (!retval) retval = put_user(0, &infop->si_errno); if (!retval) retval = put_user(0, &infop->si_code); if (!retval) retval = put_user(0, &infop->si_pid); if (!retval) retval = put_user(0, &infop->si_uid); if (!retval) retval = put_user(0, &infop->si_status); } } return retval; } ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#69 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
![]() Quote:
E se avessi dovuto seguire le minime di Torvalds (indentazione o ramificazione che sia), a quest'ora sarei ancora con un pugno di mosche in mano... Ma sì, dai. Già quelli che hanno scritto il draft di questo standard sono dei pazzi da legare: basta dare un'occhiata ai vari diagrammi (codificatore aritmetico, entropico, estensione del segnale, ordini di progressione, tag-tree, ecc.) per rendersi conto che superare i 3 livelli di indentazione (o ramificazione) diventa praticamente obbligatorio per implementare il codice... D'altra parte, vedendo come sono scritti i sorgenti di GCC e Linux, capisco ancor di più cosa vuol dire "qualità del codice": i sorgenti che ho scritto per conto dell'STM sono dei capolavori di leggibilità, pulizia del codice e mantenibilità. E se all'STM, che ha un coefficiente CMC di 2, impongono di lavorare seguendo quelle direttive, non oso immaginare cosa richiedano Magneti Marelli (CMC 3) o addirittura MicroSoft (CMC 5, il massimo).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
![]() |
#70 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Mi rispondo da solo: http://www.linuxhq.com/kernel/v1.3/5...on/CodingStyle
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys Ultima modifica di cdimauro : 22-07-2005 alle 11:03. |
|
![]() |
![]() |
![]() |
#71 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
"+First off, I'd suggest printing out a copy of the GNU coding standards,
+and NOT read it. Burn them, it's a great symbolic gesture. " Ma è proprio un mito... ![]() no go paroe, come dicono in veneto...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#72 |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
poareto sto toso de Linus...sempre a sacagnarlo....Sasini!
![]() |
![]() |
![]() |
![]() |
#73 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#74 | ||
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Ti ripeto che io non lo sapevo, e continui a parlarne come se fosse una cosa nota. Questo da l'impressione che ti atteggi da guru, quando alla fine li fuori non lo sa nessuno ![]() Quote:
![]() ![]() Direi che si commenta da se. Pero' sono pazzi da legare... Quanto vorrei essere pazzo anch'io allora... ![]() ![]() |
||
![]() |
![]() |
![]() |
#75 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
![]() Una divertita osservazione di come ogni volta che Torvalds fà delle dichiarazioni un pò estreme per così dire lo si mette subito in croce ( come quando ci fu quella discussione sull'utilizzo o meno del C++ come base di Linux invece che il C). D'altra parte credo che sia giusto criticare...molte persone divenute per motivi vari personaggi pubblici dovrebbero ragionare a mio di vedere prima di fare certe dichiarazioni; è un atteggiamento comune cmq a chiunque nell'Informatica ( Stallman, Ballmer, Gates, Jobs, de Raadt ecc.) ma non solo. Non puoi pensare di poter dire qualunque cosa perchè sei chi sei senza che questo scateni delle conseguenze. Alla fine quello che conta è ciò che sn riusciti a fare nei fatti. Per quanto riguarda il discorso indentazione, io sn d'accordo che non vi debbano essere dei limiti in questo senso; i programmi + complessi mostrano di superare spesso il numero di 3 "rientri" e la pulizia del codice, quindi anche la sua leggibiltà, và perseguita con altre metodologie, alcune frutto di convenzioni, altre di veri e propri studi in materia ( dall'ingegneria del SW all'Interazione Uomo-Macchina...). E' chiaro che n si può scrivere codice in orizzontale ad libitum, ma basta usare unpò di buon senso. |
|
![]() |
![]() |
![]() |
#76 |
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
@ cdimauro:
Ne convengo che la storia Linus Torvalds VS resto do mundo, in merito alla questione C vs C++ per la scrittura di un kernel (tutt'ora in rete), il Torvalds ha secondo me dimostrato non di non essere un buon programmatore, ma di avere, come molte programmatoru del resto, il modo di pensare in C su C++, il quale, secondo me, è tutt'altro che corretto. L'assioma però che chi non sa programmare in C++ non sia un degno programmatore però ancora non l'ho capito. Detto questo, per giustizia dovresti anche riportare le cose per intero; citando il documento da te postato, questo è il passaggio che viene poco sopra quello da te riportato(anche se correttamente hai messo il link in sign): Codice:
+This is a short document describing the preferred coding style for the +linux kernel. Coding style is very personal, and I won't _force_ my +views on anybody, but this is what goes for anything that I have to be +able to maintain, and I'd prefer it for most other things too. Please +at least consider the points made here. Se invece i tuoi interventi devo intenderli come il non "mitizzare" chicchessia, sono decisamente d'accordo purchè sia una norma generale e non solo verso un unico bersaglio, come succede, per esempio, anche per chi vede il male in ogni cosa che riguarda microsoft.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
![]() |
![]() |
![]() |
#77 | ||
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() ![]() Io in veneto so dire solo "Vai mona" (anche se non si bene che significa, ma l'ho gridato in un supermercato a Casale sul Sile e ho causato scompiglio ![]() ![]() ![]() Quote:
![]() Io per esempio ho letto l'autobiografia di Linus Torvalds, li parla in tono molto informale, mi sembra un uomo di spirito e nella vita reale dev'essere pure un timidone. In fondo è troppo facile giudicare (erroneamente) una persona da quello che dice su una mailing list. Il fatto è che sono anche loro esseri umani e come tale anche loro si divertono a dire cazzate ogni tanto. Il problema è che loro, essendo dei big, vengono presi sempre sul serio e si tende a trasformare una loro frase (detta in modo scherzoso, oppure in una lite su mailing list o in altre corcostanze) come dichiarazioni ufficiali. Oppure possono anche farlo apposta per vedere come reagisce il resto del mondo. Del resto a che serve a essere famoso se non puoi neanche divertirti. ![]() ![]() Come la famosissima frase di Bill Gates "640K bastano per tutti". Tutti a dare in culo al povero bill per questa frase... Una frase detta in un contesto che la rendeva vera è chiaro che nel 2005 fa ridere... Ma la gente la prende come se la frase pronunciata da un big debba vivere in eterno. . . |
||
![]() |
![]() |
![]() |
#78 | ||||
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Sempre di Linus Torvalds, tratte dalla sua biografia:
Quote:
Quote:
Quote:
Quote:
|
||||
![]() |
![]() |
![]() |
#79 | ||
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
![]() Quote:
E sn state formulate diversi anni fà quando lo sai perfettamente gli strumenti a disposizioni di un programmatore sn molto meno affinati di ora e gli IDE consentono un grosso risparmio di tempo n solo nella stesura del codice ma nella progettazione vera e propria, dall'interfaccia, alla composizione delle classi utilizzate, framework, design pattern ecc. Ognuno ha il proprio stile chiaramente ma attenersi ad una sorta di regola smentita poi nei fatti in svariate occasioni è un qlc di non-sense, c'è chi preferisce l'editor "puro" e chi invece il tool + complesso ma che semplifica la vita in alcune circostanze ( vedi refactoring per dirne una). E poi ripeto la pulizia del codice e la leggibilità ( relativamente facile scrivere un programma che funzioni ma molto difficile scriverne uno che possa essere compreso da chi ne legge il sorgente) sn obiettivi che n si raggiungono certo con la semplice indentazione. Per concludere a proposito di Torvalds, sicuramente è un personaggio che ormai è entrato nella storia dell'Informatica di questi ultimi anni, quello che contesto e che spesso ritrovo nelle persone "in vista" è l'incapacità a volte di sapersi gestire e di portare avanti conclusioni o idee "strampalate" che cozzano con la realtà che nel frattempo si è evoluta. Le sue esternazioni a proposito dell'uso del C++, siccome sn state ripetute n volte, n possono certo essere catalogate come "scherzo" et similia, ma come pdv che però n trova riscontro nei fatti. Si fosse fermato a dire che per quegli anni C era la scelta + adatta ( anche vista la mancanza degli strumenti attuali, i vari Borland, Visual Studio ecc.) e che portare completamente il kernel ( linux) in C++ è un'operazione troppo onerosa, allora n ci sarebbe stato nulla da dire; quando però ha continuato a motivare quelle scelte come una sorta di "C meglio di C++ per tot motivi" ecco diciamo che per dirla in modo garbato "l'ha fatta un pò fuori dal vaso" ![]() Questo senza riaprire il thread ( n ho manco l'url mi sà) papirico in proposito, ma solo una spiegazione del perchè a volte certe persone si lascino andare in affermazioni poi difficili da sostenere e che n trovano credibilità solo perchè quelle persone sn + in alto rispetto a utenti o programmatori X. |
||
![]() |
![]() |
![]() |
#80 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Per il resto, SORGENTI ALLA MANO, ho ampiamente dimostrato che quella delle 3 indentazioni massime è una regoletta talmente assurda che neppure chi l'ha scritta la segue... Pertanto, se di pazzia vogliamo parlare, è certamente da pazzi continuare su questa strada. P.S. Noto che hai preferito quotare soltanto le parti che ti facevano più comodo, ma la gente è non così stupida da non rendersene conto...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:01.