問題タブ [perl-tidy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Perl::Critic: ムース後の生活?
プロジェクトの Moose への変換を開始しましたが、最初に気付いたのは、批評家/きちんとしたテストが地獄に行くことです。Moose、Tidy、Critic は、以前ほどお互いを好きではないようです。
評論家/整頓者がムース方言をより感謝するようにする方法についてのドキュメントはどこにありますか? ほとんどの Moose ユーザーは何をしますか? より重い Moose モジュールの批評家をリラックス/捨てますか? カスタム ポリシー?
html - 自動化された Perl ビルドで perltidy の HTML フォーマッタを使用できますか?
Module::Build を使用して、開発中の Perl モジュールでビルド、テスト、testpod、html、およびインストール アクションを実行しています。生成される HTML ファイルは問題ありませんが、独自の HTML フォーマッタの代わりに perltidy -html フォーマット ユーティリティを使用するように Module::Build を設定できれば、もっとうれしいです。
Module::Build に付属の HTML フォーマッタをよりきれいな perltidy HTML フォーマッタに置き換える方法を知っている人はいますか?
補遺: 上記で「置き換える」と言ったとき、それはおそらく誤解を招くものでした. Module::Build に付属する html フォーマッタを置き換えるコードを書きたくありません。Module::Build に他のHTML フォーマッタ オプションがあるかどうか知りたいですそれが生成する HTML は、非常に単純で一般的な外観です。それはとてもつまらない。perltidy の出力はとても気に入っています。
これが、私が書いたビルドスクリプトで今どのように機能するかですが、それは完全にハックです...コマンドラインperltidyスクリプトに落ちます:
しかし、Module::Build を使用して、フラグや引数などで別の HTML フォーマッタを使用するように指示する方法があることを本当に望んでいました。しかし、それは夢物語だと思います。
または多分:
perl - Perl::Tidy や Perl::Critic を使用してサイド コメントをキャッチするにはどうすればよいでしょうか?
私の部門は現在、いくつかの一般的なコードのベスト プラクティスを決定していPerl::Tidy
ますPerl::Critic
。
現在、サイドコメントに問題があります。サイドコメントは次のとおりです。
ほとんどの場合、サイド コメントは問題のコードの上に記述できるため、サイド コメントはより読みやすくなります。可能な限り、Perl::Tidy
解決策は完璧です。これは、サイドコメントをその上の行に移動し、2番目に良いのはPerl::Critic
ポリシー(CPANでも見つけられませんでした)であり、3番目と最後は開発者です。コードレビューを行う際に、これらのコメントを指摘するように注意してください。
またはで実装することは可能ですPerl::Tidy
かPerl::Critic
?
emacs - shell-command-on-region 出力のエンコーディングを設定するにはどうすればよいですか?
Perl::Tidy を領域またはファイル全体に適用する小さな elisp スクリプトがあります。参考までに、スクリプトは次のとおりです (EmacsWiki から借用)。
現在、Windows 用の Emacs 23.1 (EmacsW32) を使用しています。私が抱えている問題は、そのスクリプトを UTF-8 でコード化されたファイル (ステータス バーの「U(Unix)」) に適用すると、出力が Latin-1 でコード化されて返されることです。 ASCII ソース文字。
それを修正する方法はありますか?
編集: (set-terminal-coding-system 'utf-8-unix)
myで使用することで問題が解決したようinit.el
です。誰でも他の解決策を持っている場合は、先に進んでそれらを書いてください!
perl - perltidy はどのようにしてメソッド引数の左括弧を揃えることができますか?
perltidy を次のようにブラケットを垂直方向に整列させる可能性はありますか:
最高、R.
perl - PerlTidy が割り当てを調整しないようにするにはどうすればよいですか?
デフォルトでは、PerlTidy は私のコードで割り当てを並べます。例えば
PerlTidy はこれを変更します...
...これに...
これを防ぐにはどうすればよいですか?マニュアルを調べましたが、解決策が見つかりません。
ありがとう!
python - Perl::Tidy に最も近い Python の同等物はどれですか?
C-c tPerl から来た私は、事前に定義されたPerl::Tidy
ルールに従ってコードを再フォーマットすることに慣れていました。今、Python を使って、Perl::Tidy
. PythonTidy 1.20 はほぼ適切に見えますが、最初の行の位置がずれている (「予期しないインデント」) でバーフが発生します。
特に、私は次のことを探しています。
- 可能な限り PEP-8 を使用します (以下の項目は基本的にこの項目から派生したものです)
- インデント タブをスペースに変換する
- 末尾のスペースを削除
- 定義済みの行の長さに応じてコードを分割します (Eclipse スタイルの文字列分割とメソッド チェーンの分割)。
- 周囲の空白を正規化する
- (ボーナス機能、オプション) インデントを含むコードの再フォーマット。
現在、私は他の誰かのコードを調べてすべてを修正しpep8
てpyflakes
教えてくれますが、それは主に「末尾のスペースを削除する」と「追加の空白行を挿入する」ことです。Python では再インデントが簡単ではないことはわかっていますが (コードを調べてインデントを覚えるだけで可能になるはずですが)、他の機能は簡単に思えて、これまで誰も実装したことがないとは思えません。
推奨事項はありますか?
更新: PythonTidy は正しい方向に進んでいるように見えるので、PythonTidy を詳しく見ていきます。たぶん、それが私に吠える理由を見つけることができるでしょう。
eclipse - Method :: Signaturesを使用してperltidyを機能させるにはどうすればよいですか?
EclipseとEPICを組み合わせてPerlコードを記述しています。コードをフォーマットするために「-pbp」(perlベストプラクティススタイル)でPerltidyを使用するようにEPICを構成しました。
これは、 Method ::Signaturesの名前付きパラメーターを使用する場合はうまく機能しません。たとえば、エラーが発生するようにfunc (:$arg1, : $arg2)
フォーマットされています。func (: $arg1, : $arg2)
また、func
キーワードが認識されないsub
ため、インデントが間違っています。
perl - Perl ソースコードを自動的に整理するにはどうすればよいですか?
私の会社の猫がキーボードの上を歩き、1000 行以上の有効な実行可能 Perl コードを維持するために残してしまいました。
Perl の TMTOWTDI 哲学のおかげで、彼女が作成したコードのすべての行を理解するために Google を検索していることに気づきました。
私の悲惨さに加えて、コードはインデントされておらず、1行に2つのステートメントが頻繁に出現し、ループが外側か内側かを判断できません。
この Perl コードを正常な状態に自動設定するにはどうすればよいですか? はい、それを行うCPANモジュールがいくつかあるに違いありません。外部ツールはどうですか?手がかりはありますか?
perl - PPI - PPI::Token::Whitespace の整理 - 質問
「$module->prune( 'PPI::Token::Whitespace' );」を使用する場合 結果を $file に保存します。保存されたコードの作業コードに簡単に戻る方法はありますか? "Perl::Tidy" を試してみたところ、この後はずっと良くなりましたが、id ですべてが修正されるわけではありません。
編集:
そもそも持っていたコードを再構築できなくなりました。prune-whitespace を有効にすると、次のようなものを使用できます
それ以外の
何かを追加するポイントを見つける。しかし、再試行した後、機能しないと思います(スペースなしでコードを復元できないという事実は別として)。