Domanda

È nello stato in cui è effettivamente utile e può fare di più che rinominare le classi?

È stato utile?

Soluzione

CDT (C / C ++ Development Tools - progetto eclipse) 5.0 ha un sacco di nuovi refactoring

* Declare Method
* Extract Baseclass
* Extract Constant
* Extract Method
* Extract Subclass
* Hide Method
* Implement Method
* Move Field / Method
* Replace Number
* Separate Class
* Generate Getters and Setters

Esiste un refactoring CDT wiki

Altri suggerimenti

Ci sono stati numerosi sforzi per fornire strumenti di refactoring per C ++, la maggior parte di essi è fallita abbastanza presto, perché la creazione di tali strumenti richiede la piena capacità di elaborare il codice sorgente C ++, cioè è necessario un compilatore c ++ funzionante e completo nel primo posto per implementare anche le forme più elementari di trasformazioni automatizzate da fonte a fonte.

Fortunatamente, con l'introduzione di plugin in gcc , sta finalmente diventando prevedibile che gli sforzi potrebbero effettivamente essere in grado di sfruttare un compilatore C ++ esistente per questo scopo, invece di dover ricorrere alle proprie implementazioni di un compilatore C ++.

Per una discussione più approfondita, potresti voler dare un'occhiata a this .

Per il momento, il candidato più promettente per fornire supporto di refactoring C ++ ampiamente automatizzato, è sicuramente il Mozilla pork , insieme al relativo progetto associato Dehydra .

Alcuni refactoring C ++ che sono supportati ad esempio da Ref ++ non devono comprendere appieno la sintassi C ++. Ad esempio il metodo pull up, il metodo push down ecc. Sono abbastanza semplici. Per qualche motivo questo tipo di refactoring non è implementato per refactoring CDT.

Sì, e la maggior parte di loro non funziona davvero se il codice è troppo complicato. Cose come spostare un metodo, rinominare, ecc. A volte hanno problemi.

C ++ è un linguaggio molto difficile da fornire supporto per il refactoring. Questo perché la lingua è molto complessa e difficile da analizzare, ma è principalmente a causa del preprocessore.

Il preprocessore è il motivo principale per cui gli IDE C / C ++ sono in ritardo rispetto ad altre lingue.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top