Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Unified Diff: tools/telemetry/third_party/rope/docs/dev/issues.rst

Issue 1132103009: Example of refactoring using rope library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/rope/docs/dev/issues.rst
diff --git a/tools/telemetry/third_party/rope/docs/dev/issues.rst b/tools/telemetry/third_party/rope/docs/dev/issues.rst
new file mode 100644
index 0000000000000000000000000000000000000000..62c7d9c3c3a5b1cc572234b513beb34c9aeb658a
--- /dev/null
+++ b/tools/telemetry/third_party/rope/docs/dev/issues.rst
@@ -0,0 +1,156 @@
+=============
+ Rope Issues
+=============
+
+
+Unresolved Issues
+=================
+
+* purging out less accurate callinfos when better ones appear?
+* using properties without calling its get?
+* global variable inlines
+* transform and extension modules
+* merging extract and usefunction
+* caching instances of PyObject
+* moving a group of elements together
+* temps might be read after body in usefunction or extract
+* usefunction and function returns
+* usefunction on methods
+* extracted functions should be inserted before using class bodies
+* adding "referenced later" wildcard argument to restructurings?
+* adding "change references" wildcard argument to restructurings?
+* ideas for more custom wildcards
+* adapting future python 2.6 ast changes
+* custom wildcards and recursive patterns
+* custom restructuring wildcard patterns and replacements
+* not reimporting back imports after moving
+* importing compressed objectdb/history data?
+* not applying all commenting mechanisms always in codeassist
+* fixing try blocks before current line in code_assist
+* better tests for patchedast
+* import actions with more that one phase and filtering problems
+* handle long imports should work on filtered imports unconditionally?
+* extracting subexpressions; look at `extracttest` for more info
+* switching to gplv3?
+* unignored files that are not under version control
+* inline fails when there is an arg mismatch
+* evaluate function parameter defaults in staticoi?
+* saving diffs instead of old contents in ChangeContents?
+* handling tuple parameters
+* extract class
+* analyzing function decorators
+* generate ... and implicit interfaces
+* generate method and class hierarchies
+* lambdas as functions; consider their parameters
+* renaming similarly named variables
+* handling the return type of ``yield`` keyword
+* not writing unchanged objectdb and history?
+
+
+To Be Reviewed
+==============
+
+* review patchedast; make it faster
+* lots of estimations in codeanalyze in WordRangeFinder
+* review objectdb modules
+* how concluded data are held for star imports
+
+
+Insert Before In Restructurings
+===============================
+
+Consider a restructuring like this::
+
+ pattern: ${a} if ${b} else ${c}
+ goal: replacement
+ before: if ${b}:\n replacement = ${a}\nelse:\n replacement = ${c}
+
+
+Memory Management
+=================
+
+These are the places in which rope spends most of the memory it
+consumes:
+
+* PyCore: for storing PyModules
+* ObjectInfo: for storing object information
+* History: for storing changes
+
+We should measure the amount of memory each of them use to make
+decisions.
+
+
+Custom Restructuring Wildcards
+==============================
+
+There is a need to add more custom wildcards in restructuring
+patterns. But adding all such needs to `similarfinder` module makes
+it really complex. So I think adding the ability to extend them is
+useful.
+
+Sometimes wildcards can be customized. For instance one might want to
+match the function calls only if ``p1`` is passed in the arguments.
+They can be specified in wildcard arguments.
+
+Since matched wildcards can appear in the goal pattern, each wildcard
+should have a corresponding replacement wildcard. Each replacement
+might be customized in each place it appears; for instance
+``${mycall:-p1}`` might mean to remove ``p1`` argument.
+
+
+Wildcard Format
+---------------
+
+All wildcards should appear as ``${name}``. The type of wildcards and
+their parameters can be specified using the ``args`` argument of
+``Restructuring()``.
+
+Ideas:
+
+* Maybe we can put checks inside args, too::
+
+ pattern: ${project:type=rope.base.project.Project}.pycore
+
+ But what should be done when a variable appears twice::
+
+ pattern: ${a:type=__builtin__.int} + ${a}
+
+
+Examples
+--------
+
+.. ...
+
+
+Possible Module Renamings
+=========================
+
+*First level*:
+
+These module names are somehow inconsistent.
+
+* change -> changes
+* method_object -> methodobject
+* default_config -> defaultconfig
+
+*Second level*
+
+Many modules use long names. They can be shortened without loss of
+readability.
+
+* methodobject -> methobj or funcobj
+* usefunction -> usefunc
+* multiproject -> mulprj
+* functionutils -> funcutils
+* importutils -> imputils
+* introduce_factory -> factory
+* change_signature -> signature
+* encapsulate_field -> encapsulate
+* sourceutils -> srcutils
+* resourceobserver -> observer
+
+
+Getting Ready For Python 3.0
+============================
+
+This has been moved to a separate branch.
« no previous file with comments | « tools/telemetry/third_party/rope/docs/contributing.rst ('k') | tools/telemetry/third_party/rope/docs/dev/todo.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698