Ho analizzato il codice di OpenSPCoop per la "complessità ciclomatica" valore
massimo da letteratura 10 e numero di linee di codice per classe e metodo.
Il risultato è quello allegato dove V(G) è la "complessità ciclomatica" e NOS è
il numero di linee.
Ci sono metodi con valori di "complessità ciclomatica" veramente elevata
24,33,47,53.... su cui andrebbe fatto nel tempo un lavoro per spezzarli in più
metodi o meglio ancora in più classi facendo un minimo di analisi delle
responsabilità annidate al suo interno.
Rischiamo altrimenti con la crescita delle funzioni di non riuscire più a
gestire le manutenzioni nel tempo ed è anche molti difficile sviluppare dei
test unitari.
Ciao
Luciano
Audit Results for unnamed
C:\Java-IDE\Jdev-mywork\Interscambio\OpenSpCoop\OpenSPCoop\OpenSPCoop.jpr
| Construct |
NOS |
V(G) |
|
| OpenSPCoop.jpr (Default) |
9154 |
53 |
|
C:\javalibs\openspcoop\src\org\openspcoop\egov
| Construct |
NOS |
V(G) |
|
| org.openspcoop.egov |
2865 |
53 |
|
C:\javalibs\openspcoop\src\org\openspcoop\egov\Imbustamento.java
| Construct |
NOS |
V(G) |
|
| Imbustamento.java |
296 |
41 |
|
| build_eGovHeader(Busta)
|
69 |
41 |
|
| build_eGov(Busta, byte[])
|
28 |
11 |
|
| eraserType(byte[])
|
31 |
14 |
|
C:\javalibs\openspcoop\src\org\openspcoop\egov\ProfiloDiCollaborazione.java
| Construct |
NOS |
V(G) |
|
| ProfiloDiCollaborazione.java |
184 |
13 |
|
| sincrono_getBustaDiRitorno(Connection, String, String)
|
84 |
13 |
|
C:\javalibs\openspcoop\src\org\openspcoop\egov\Sbustamento.java
| Construct |
NOS |
V(G) |
|
| Sbustamento.java |
65 |
15 |
|
| removeSPCoop(byte[])
|
39 |
15 |
|
C:\javalibs\openspcoop\src\org\openspcoop\egov\Validazione.java
| Construct |
NOS |
V(G) |
|
| Validazione.java |
1696 |
53 |
|
| validazioneID(String, ProviderIdentifier, boolean)
|
64 |
29 |
|
| validazioneData(String)
|
61 |
22 |
|
| getHeaderEGov(SOAPHeader)
|
59 |
20 |
|
| controlloPresenza_Busta_eGov(byte[])
|
86 |
25 |
|
| validazioneBusta(SOAPHeaderElement, Busta, SOAPFault)
|
105 |
47 |
|
| validazioneBusta(byte[], Busta, String, Connection, boolean)
|
110 |
53 |
|
| validazioneRiferimentiAttachments(java.util.Vector<Eccezione>, byte[], String, Connection)
|
49 |
14 |
|
| validazioneFault(SOAPFault, java.util.Vector<Eccezione>)
|
40 |
12 |
|
| validazioneListaEccezioni(Node, Busta, java.util.Vector<Eccezione>, String)
|
76 |
13 |
|
| validazioneCodiceEccezione(String)
|
68 |
35 |
|
| validazioneProfiloCollaborazione(Node, Busta, java.util.Vector<Eccezione>, boolean)
|
66 |
14 |
|
| validazioneMessaggio(Node, Busta, java.util.Vector<Eccezione>, boolean, String)
|
155 |
34 |
|
| validazioneListaRiscontri(Node, Busta, java.util.Vector<Eccezione>, boolean, String)
|
106 |
22 |
|
| validazioneListaTrasmissioni(Node, Busta, java.util.Vector<Eccezione>, boolean, String)
|
174 |
32 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\config
| Construct |
NOS |
V(G) |
|
| org.openspcoop.pdd.config |
669 |
15 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\config\ConfigReaderXML.java
| Construct |
NOS |
V(G) |
|
| ConfigReaderXML.java |
383 |
15 |
|
| ConfigReaderXML(String)
|
77 |
11 |
|
| refreshConfig()
|
80 |
15 |
|
| getPA(PAIdentifier)
|
26 |
14 |
|
| getLivelloSPCoop_msgDiagnostici()
|
23 |
11 |
|
| getLivelloOpenSPCoop_msgDiagnostici()
|
23 |
11 |
|
| authenticationSIL(String, String)
|
20 |
11 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\mdb
| Construct |
NOS |
V(G) |
|
| org.openspcoop.pdd.mdb |
493 |
40 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\mdb\InvokerJMS.java
| Construct |
NOS |
V(G) |
|
| InvokerJMS.java |
91 |
33 |
|
| send(org.apache.axis.Message, boolean, ServiceIdentifier, ProviderIdentifier)
|
87 |
33 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\mdb\RicezioneBusteEGovMDB.java
| Construct |
NOS |
V(G) |
|
| RicezioneBusteEGovMDB.java |
196 |
40 |
|
| onMessage(Message)
|
195 |
40 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\output
| Construct |
NOS |
V(G) |
|
| org.openspcoop.pdd.output |
183 |
13 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\output\OpenSPCoopLogger.java
| Construct |
NOS |
V(G) |
|
| OpenSPCoopLogger.java |
102 |
13 |
|
| writeMsgDiagnostico(String)
|
57 |
13 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\services
| Construct |
NOS |
V(G) |
|
| org.openspcoop.pdd.services |
649 |
50 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\services\AccettazioneRichiesteInterneSOAP.java
| Construct |
NOS |
V(G) |
|
| AccettazioneRichiesteInterneSOAP.java |
162 |
24 |
|
| OpenSPCoop_PD(SOAPEnvelope, SOAPEnvelope)
|
161 |
24 |
|
C:\javalibs\openspcoop\src\org\openspcoop\pdd\services\RicezioneBusteEGovSOAP.java
| Construct |
NOS |
V(G) |
|
| RicezioneBusteEGovSOAP.java |
286 |
50 |
|
| OpenSPCoop_PA(SOAPEnvelope, SOAPEnvelope)
|
285 |
50 |
|
C:\javalibs\openspcoop\src\org\openspcoop\uddi
| Construct |
NOS |
V(G) |
|
| org.openspcoop.uddi |
3016 |
47 |
|
C:\javalibs\openspcoop\src\org\openspcoop\uddi\PublisherUDDI.java
| Construct |
NOS |
V(G) |
|
| PublisherUDDI.java |
1848 |
47 |
|
| menuServizio()
|
68 |
16 |
|
| newProvider()
|
65 |
16 |
|
| modificaCodiceProvider()
|
47 |
11 |
|
| modificaXMLProvider()
|
58 |
17 |
|
| newServizio()
|
73 |
17 |
|
| modificaNomeServizio()
|
48 |
12 |
|
| modificaEndPointServizio()
|
51 |
13 |
|
| modificaTipoServizio()
|
48 |
12 |
|
| cancellaTipoServizio()
|
52 |
15 |
|
| aggiungiAzioneServizio()
|
62 |
16 |
|
| modificaAzioneServizio()
|
86 |
23 |
|
| cancellaAzioneServizio()
|
86 |
25 |
|
| newEndPointJms()
|
81 |
22 |
|
| newDefault()
|
115 |
27 |
|
| modificaDefault(Default)
|
129 |
40 |
|
| newAzione(Default, String)
|
142 |
47 |
|
C:\javalibs\openspcoop\src\org\openspcoop\uddi\QueryEGovUDDI.java
| Construct |
NOS |
V(G) |
|
| QueryEGovUDDI.java |
75 |
18 |
|
| getServizio(ServiceIdentifier)
|
35 |
18 |
|
C:\javalibs\openspcoop\src\org\openspcoop\uddi\QueryEGovXML.java
| Construct |
NOS |
V(G) |
|
| QueryEGovXML.java |
201 |
18 |
|
| QueryEGovXML(String)
|
77 |
11 |
|
| refreshConfig()
|
80 |
15 |
|
| getServizio(ServiceIdentifier)
|
28 |
18 |
|
C:\javalibs\openspcoop\src\org\openspcoop\uddi\XMLLib.java
| Construct |
NOS |
V(G) |
|
| XMLLib.java |
157 |
40 |
|
| getInfoServizio(ServiceIdentifier)
|
82 |
40 |
|
C:\javalibs\openspcoop\src\org\openspcoop\utils
| Construct |
NOS |
V(G) |
|
| org.openspcoop.utils |
770 |
26 |
|
C:\javalibs\openspcoop\src\org\openspcoop\utils\AttachmentsUtils.java
| Construct |
NOS |
V(G) |
|
| AttachmentsUtils.java |
412 |
26 |
|
| readAttachmentsPart(org.apache.axis.Message, String, String, Connection, boolean)
|
67 |
17 |
|
| mappingXMLwithAttachments(byte[], Vector<byte[]>, Vector<String>, Vector<String>)
|
69 |
26 |
|
C:\javalibs\openspcoop\src\org\openspcoop\utils\SoapUtils.java
| Construct |
NOS |
V(G) |
|
| SoapUtils.java |
340 |
19 |
|
| saveMessage_sbustamentoEGov(org.apache.axis.Message, String, String, Connection)
|
68 |
19 |
|
| readMessage_appendEGov(String, String, Connection, byte[], boolean)
|
51 |
19 |
|
|