注釈を使用してIDEでオートコンプリートを改善し、自動テストでテストをタイプしたいとします。しかし、多くの追加コードを導入することなく、どのように多くのメソッドに型名を追加できますか?パッケージレベルでタイプ注釈を使用する
たとえば、引数を持つ約200個のメソッドを含む、Djangoフレームワークを使用する大きなコードベースがあるとします。型注釈を200回追加すると、コードが膨らんでしまいます。
私の現在のアイデアは、パッケージレベルでsetup.py
(または他の場所)にタイプ注釈を含めることです。私は、request
変数が使用されるたびにというルールを定義します。タイプはdjango.http.HttpRequest
"です。値がrequest
の変数が別の型を指すエッジの場合、明示的なアノテーションは実行する必要がありますが、これらのアノテーションはほとんどありません。
これはどのように実装できますか?全体的な目標を達成する他の方法はありますか?デフォルトでは
from django.http import HttpRequest
class RequireHttpRequest():
def process_view(request, view_func, view_args, view_kwargs):
require_http_request = view_kwargs.get('require_http_request', True)
if require_http_request and type(h) != HttpRequest:
raise SomeException
return None
は、このミドルウェアは、すべてのURLに影響を与える:
この詳細な回答ありがとうございました。あなたは賞金を得る! – guettli