nessuno (Normal User)
Guru^2
Messaggi: 6380
Iscritto: 03/01/2010
|
A confermare le corrette regole (e mi riferisco in particolare alla 1 e alla 2), c'è sempre l' "eccezione", che mostra come, certe volte, alcune "best practices" non siano seguite da chi di software ne sviluppa tanto.
Esiste un gruppo di API di Windows, le cosiddette
Network Management Functions
http://msdn.microsoft.com/en-us/library/aa370675(v=VS.85). ...
tra le quali esistono molte funzioni, una tra tutte, la
NetServerEnum
http://msdn.microsoft.com/en-us/library/aa370623(v=VS.85). ...
che, tra gli altri parametri, accetta un puntatore a puntatore a buffer. Tale buffer viene usato per restituire i dati per cui la funzione è stata creata (elenco server) ma, attenzione, l'allocazione del buffer è fatta all' "interno" della stessa funzione, dal sistema.
La stessa, si aspetta che sia il "chiamante" a liberare la memoria allocata tramite un'altra funzione del gruppo, la
NetApiBufferFree
http://msdn.microsoft.com/en-us/library/aa370304(v=VS.85). ...
che molti programmatori, spesso, dimenticano di usare (con memory leak assicurati).
E NetServerEnum la non è la sola.
Questo discorso per confermare, con un esempio, che le motivazioni 1) e 2) sono effettivamente fondate e che, tuttavia, molte software house vìolano questi principi (o principii per i puristi).
Fondamentale quindi, non dare nulla per scontato e studiare "attentamente" la documentazione.
Ultima modifica effettuata da nessuno il 02/07/2010 alle 14:08
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità. |