ロープは、Python IDEです。 Pythonのロープの主な目標は、自動補完、リファクタリング、コンテンツ案内、輪郭などの機能を提供することです。
リファクタリング:近年、リファクタリングは特別にJavaコミュニティで、日常のプログラミングの基本的な課題となっている。アジャイルプログラミングの方法論では、エクストリームプログラミングのように、リファクタリングは、コアの実践の一つです。
いくつかのIDEは(自転車修理マンを使用しています) 'PyDevは'のようないくつかの基本的なリファクタリングをサポートしています。これらのIDEがリファクタリングの限定セットを持っており、(特別に比較的大きなプロジェクトの場合)ソースコード内のオブジェクトの種類を知っておく必要がリファクタリングを行うときに失敗する。ロープはリファクタリングの豊富なセットを提供しようとします。リファクタリングの一部は、後述するタイプの推論を必要とする。
自動完成:現代のIDEの基本的な特徴の一つは、自動補完の可用性です。いくつかのPythonのIDEは自動補完をサポートしていますが限定された形で。以来、多くの変数のタイプは、ソースコードの単純な分析から推定することができない。自動完成モジュール名、クラス名、静的メソッド、クラスメソッド、関数名や変数名は簡単です。しかし、自動完成オブジェクトのメソッドと属性が難しいです。 IDEは動的言語で簡単にほとんどの時間を達成することができないオブジェクトの種類を知っておく必要があるため。ロープは、この問題を解決するために、型推論アルゴリズムを使用する。
タイプ推論:Pythonのような動的言語の1つの欠点は、あなたがほとんどの時間プログラムのソースコードの単純な分析により、変数の型を知ることができないということです。変数の型を知ることは、リファクタリングと自動補完の多くを提供するために非常に重要である。ロープは、この問題を克服するために型推論を使用します。
静的な型推論は、オブジェクトの型を推測するプログラムのソースコードを使用しています。しかし、型推論のPythonプログラムは非常に難しいです。 (:サイコ:のみSTRと型をint型、スターキラー:リリースとShedSkinされませんでした。良いが、限られた例)いくつかの非常に成功していないかの試みがなされている。これらは主に、他の型指定された言語に自身のコードを変換するのではなく、IDEのを構築することにより、Pythonプログラムのスピードアップに向けWHERE。このようなアルゴリズムは役に立つかもしれません。
型推論に向かって別のアプローチがある。つまり、プログラムの実行の分析である。この動的なアプローチは、変数は、プログラムの実行中に割り当てられているタイプを記録します。このアプローチは、代替よりも実装が非常に簡単であるが、それには限界がある。実行されるプログラムの一部のみが分析される。開発者は、ユニットテストを書くと、このアプローチは非常にうまく機能テスト駆動開発を使用する場合は、
のこのリリースではの新機能:ます。
- codeassist:ドキュメンテーション文字列内のUnicodeのより良い取り扱います。
- codeassist:そのようなsys.stdoutのような組み込みの未知数を、取り扱います。
- codeassist:提案のスコープとタイプが改訂されます。
- のFSCommands:HGクルーUIの変更を処理します。
- patchedast:ExtSliceノードを処理します。
- 再帰ます。
- setuptoolsのための基本的なサポートが追加されています。
- 抽出法は、条件変数の更新を処理するために変更されました。
- 一部のWindows特有のバグが修正されました。
autoimportモジュールは今、すべてのサブモジュールをキャッシュサポートしています。
のバージョン0.9.2でのの新機能であるモジュールのます。
モジュールのロードが修正されました
import_dynload_stdmods変数はサイズを小さくするために追加されました。
のバージョン0.9.1でのの新機能であるextension_modules変数のます。
のバージョン0.9のの新機能:
- 0.8.4からの変更点:
- DarcsにVCSをサポートします。
- のMAC行末ます。 でファイルを扱う
- ローカル変数をインライン化するときにすべてのファイルを検索しない
- 固定Cygwinのパスの問題0.8からの変更のいくつか:
- 他のモジュールでインライン化変数ます。
- は() ` ` rope.contrib.findit.find_definitionを追加しました
- 取り扱い優れた拡張モジュール
- は() ` ` rope.contrib.findit.find_definitionを追加しました
- にFSCommandsにGITのサポートを追加しました
- インライン化パラメータます。
- バック移動に下線付きの名前をインポートします。
- は() ` ` codeassist.get_calltipを追加しました
- `libutils.analyze_modules()`ます。 を追加
- は `` soa_followed_calls``プロジェクト設定します。 追加
- `libutils.report_change()` `automatic_soa`ます。 読み込み
- プロパティデコレータの取り扱い
の要件の
- のPythonます。
コメントが見つかりません