Menu

#360 Create refactoring tools

v1.1.x
closed
None
v1.1.1
New Functionality
2018-11-17
2018-07-24
Erik Hänel
No

Create some refactoring tools, which may be used to rename symbols automatically. Probably a very huge task.
Another helpful feature would be something like a "abstrahizer", which can be used to extract some code fragments into a new procedure.

Analysis:

The two functionalitites can be implemented as follows:

  • Create a replaceall functionality for the editor, which will care about the current style and has a starting and an ending line. Additionally, determine the start and the end of the current procedure. Finally, one has to care about, whether a variable or a table is globally or locally defined or if it is an procedure argument.
  • The abstrahizer will be a more experimental feature: depending on the marked lines, the abstrahizer will try to detect in- and output of the current code section and create a new procedure from this informationin a separate window. Probably it would be neat, that the replaceall functionality is separated into a find all and a replace matches functionality, because the find all could be used in this context, too.

Implementation:

  • Implementation: The new functionality was implemented as proposed by the analysis.
  • Revision: [r390]
  • Implementation test: The symbol renaming feature and the code extractor were tested on many possible code sources

Documentation:

  • ChangesLog: updated
  • Comments: The changed sections of code were commented sufficiently
  • Documentation articles: New documentation articles were created and the documentation index was updated correspondingly
  • Language files: updated

Tests:

This functionality was tested manually. All deviations were resolved.

Related

Commit: [r390]

Discussion

  • Erik Hänel

    Erik Hänel - 2018-08-08
    • status: open --> accepted
     
  • Erik Hänel

    Erik Hänel - 2018-08-08
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1 +1,2 @@
     Create some refactoring tools, which may be used to rename symbols automatically. Probably a very huge task.
    +Another helpful feature would be something like a "abstrahizer", which can be used to extract some code fragments into a new procedure.
    
     
  • Erik Hänel

    Erik Hänel - 2018-09-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,2 +1,19 @@
     Create some refactoring tools, which may be used to rename symbols automatically. Probably a very huge task.
     Another helpful feature would be something like a "abstrahizer", which can be used to extract some code fragments into a new procedure.
    +
    +###Analysis:
    +(*Describe, what's the issue and which changes have to be made*)
    +
    +###Implementation:
    +* Implementation: (*Describe, what you've changed*) 
    +* Revision: [rXXX]
    +* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +
    +###Documentation:
    +* ChangesLog: (*Have you updated the changes log?*)
    +* Comments: (*Have you written comments in the code, which describe your change?*)
    +* Documentation articles: (*Have you updated the documentation articles?*)
    +* Language files: (*Have you updated the language files?*)
    +
    +###Tests:
    +(*Describe, which tests you performed and their outcome*)
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2018-09-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -2,7 +2,10 @@
     Another helpful feature would be something like a "abstrahizer", which can be used to extract some code fragments into a new procedure.
    
     ###Analysis:
    -(*Describe, what's the issue and which changes have to be made*)
    +The two functionalitites can be implemented as follows:
    +
    +* Create a replaceall functionality for the editor, which will care about the current style and has a starting and an ending line. Additionally, determine the start and the end of the current procedure. Finally, one has to care about, whether a variable or a table is globally or locally defined or if it is an procedure argument.
    +* The abstrahizer will be a more experimental feature: depending on the marked lines, the abstrahizer will try to detect in- and output of the current code section and create a new procedure from this informationin a separate window. Probably it would be neat, that the replaceall functionality is separated into a find all and a replace matches functionality, because the find all could be used in this context, too.
    
     ###Implementation:
    
     * Implementation: (*Describe, what you've changed*) 
    
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2018-09-10
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,15 +8,15 @@
    
     * The abstrahizer will be a more experimental feature: depending on the marked lines, the abstrahizer will try to detect in- and output of the current code section and create a new procedure from this informationin a separate window. Probably it would be neat, that the replaceall functionality is separated into a find all and a replace matches functionality, because the find all could be used in this context, too.
    
     ###Implementation:
    -* Implementation: (*Describe, what you've changed*) 
    -* Revision: [rXXX]
    -* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +* Implementation: The new functionality was implemented as proposed by the analysis.
    +* Revision: [r390]
    +* Implementation test: The symbol renaming feature and the code extractor were tested on many possible code sources
    
     ###Documentation:
    -* ChangesLog: (*Have you updated the changes log?*)
    -* Comments: (*Have you written comments in the code, which describe your change?*)
    -* Documentation articles: (*Have you updated the documentation articles?*)
    -* Language files: (*Have you updated the language files?*)
    +* ChangesLog: updated
    +* Comments: The changed sections of code were commented sufficiently
    +* Documentation articles: New documentation articles were created and the documentation index was updated correspondingly
    +* Language files: updated
    
     ###Tests:
     (*Describe, which tests you performed and their outcome*)
    
    • status: implementing --> testing
     
  • Erik Hänel

    Erik Hänel - 2018-11-17
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -19,4 +19,4 @@
    
     * Language files: updated
    
     ###Tests:
    -(*Describe, which tests you performed and their outcome*)
    +This functionality was tested manually. All deviations were resolved.
    
    • status: testing --> closed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB