同僚: あなたのコードはよく書かれておらず、十分に標準化されていません。
私: どうして私が書いたコードが変則的なのでしょうか、くだらないことを言わないでください。
そこで同僚が私の IDEA を開いてプラグインをインストールし、実行しましたが、仕様は標準化されていません。レポートを見てみましょう。
これがどうして良いのか、これは私にとって非常に多くの問題を見つけ出しました、信頼できるかどうか。
同僚は冷静な態度で立ち去り、私はパニックになって画面を見つめながら席に残されました。このレポートの各項目を注意深く確認しましたが、読めば読むほど、このプラグインが指摘した問題点はもっともだと感じましたが、私は本当に不注意で、バグまで拾ってしまいました。
これはどんなプラグインなのかというと、レビューコードは無敵です。
このプラグインは SonarLint で、公式 Web サイトのスローガンは ですclean code begins in your IDE with {SonarLint}
。
プログラマーとして、私たちは自分が作成するコードが完璧であることを望んでいますが、さまざまな理由により、特に開発が初めての学生や、長年の開発経験を持つ多くのプログラマーにとっては、いくつかの問題やバグさえも避けることはできません。コーディングの悪い習慣がある。
コードの品質やコードの仕様は、まずプログラマー自身のレベルやリテラシーによって判断する必要がありますが、レベルを上げるには手法が必要で、大手メーカーの仕様やコードを参考にしたり、大手メーカーが主導したりするなど、さまざまな方法があります。ボス、残りは少しずつ蓄積され、いくつかの便利なプラグインは、良いコード仕様とは何か、良いコードとは何かを常に思い出させてくれます。
review
SonarLintは、リアルタイムでコードを作成するのに役立ち、コード内の潜在的な問題を見つけて解決策を提供することもできる非常に便利なプラグインです。
SonarLint は、静的コード分析技術を使用して、コード内の一般的なエラーと脆弱性を検出します。たとえば、null ポインター参照、型変換エラー、重複コードやロジック エラーなどを検出できます。これらは一般的な問題ですが、発見するのが難しい場合もあります。SonarLint プラグインを使用すると、コードの作成中にこれらの問題を発見し、適時に修正できるため、これらの問題がアプリケーションの安定性に影響を与えるのを防ぐことができます。
たとえば、次のコードにはループを終了するための条件設定がありませんが、SonarLint がプロンプトを表示し、強迫性障害のある人はそれに耐えることができます。
SonarLint プラグインは、コードの読みやすさを向上させるのに役立ちます。コードは読みやすく理解しやすいものでなければなりません。これにより、他の開発者がコードをより簡単に保守および変更できるようになります。SonarLint プラグインは、不要なコメント、説明的ではない長い関数名や変数名など、コード内の悪いコード臭を検出できます。SonarLint プラグインを使用すると、明確で簡潔でわかりやすいコードの書き方をより深く理解できます。
たとえば、以下の名前のhello_world
静的変数に対してfinal
、SonarLint は 2 つの提案を提供します。
- この変数は使用されていないため、削除することをお勧めします。
- 静的で不変の変数名は仕様に準拠していません。
SonarLint プラグインは、ベスト プラクティスと標準に従うのに役立ちます。標準とベスト プラクティスに準拠したコードを作成することで、アプリケーションの品質と信頼性が保証されます。SonarLint プラグインは、安全でない型変換、未使用の変数やメソッド、不適切な例外処理など、コード内のルール違反を検出できます。SonarLint プラグインを使用すると、ベスト プラクティスと標準に準拠したコードの作成方法を学び、コードの堅牢性と信頼性を高めることができます。
たとえば、次の例外スロー メソッドは直接スローされますException
が、SonarLint では、それを使用するのではなくException
、例外をカスタマイズすることをお勧めします。カスタム例外を使用するとException
、基本的なタイプのエクスポートと転送の代わりに、例外の内容を直感的に確認できるようになります。
SonarLint をインストールする
IDEA 設定 -> を直接開きPlugins
、MarketPlace
検索しSonarLint
て直接インストールできます。
公式 Web サイトから直接ダウンロードすることもできます。ページを開くとhttps://www.sonarsource.com/products/sonarlint/
、ページ上に複数の言語と複数の開発ツールのダウンロード アイコンが表示されます。下のボタンをクリックしてEXPLORE
ダウンロード ページに移動し、ダウンロードします。IDEA でのみ使用しますが、IDEA だけでなく Java、Python や PHP などの多くの言語、Visual Studio や VS Code などの多くの IDE をサポートしています。
IDEAでの使用
SonarLint プラグインをインストールすると、スマート プロンプト機能と同様に、リアルタイム分析機能がデフォルトで有効になります。キーボードをカチカチと入力すると、プラグインは静かに分析します。 、黄色の波線プロンプトが表示されますSonarLint
。
もちろん、ファイル内で右クリックするか、プロジェクトのルート ディレクトリ内で右クリックしてポップアップ メニューをクリックして、Analyze with SonarLint
現在のファイルまたはプロジェクト全体を分析することもできます。
分析後、分析レポートが生成されます。
左側には個々のファイルの分析結果が表示され、右側には問題に対する提案と修正例が表示されます。
SonarLint は問題を 3 つのタイプに分類します
タイプ | 説明する |
---|---|
バグ | プログラムの実行に影響を与えるコードのバグ |
脆弱性 | 攻撃の入り口として使用される可能性のある脆弱性 |
コードの匂い | コードの意味。コードの保守性に影響を与える可能性があります。 |
問題は重大度に応じて 5 つのカテゴリに分類されます
重大度 | 説明する |
---|---|
ブロッカー | これはプログラムの通常の動作に影響を及ぼしており、変更しないと動作しなくなります。 |
致命的 | プログラムの動作に影響を与え、プログラムのセキュリティを脅かす可能性があります。通常は変更できません。 |
選考科目 | コード品質の問題だが深刻 |
マイナー | 同じコード品質の問題ですが、深刻度は低くなります |
情報 | いくつかのフレンドリーなアドバイス |
ソナーキューブ
SonarLint は IDE レベルでの分析を行うためのプラグインであり、SonarQube
機能も使用でき、Web 形式で表示されるため、開発チーム全体のプロジェクトに Web 視覚化効果を提供できます。また、CI\CD などの展開ツールと統合して、リリース前にコード分析を行うことができます。
SonarQube
Javaプロジェクトなので、公式サイトからプロジェクトをダウンロードしてローカルで起動することもできますし、dockerの方法で起動することもできます。その後、IDEA でグローバル構成を構成できますSonarQube
。
SonarQube Web でプロジェクトを個別に構成することもでき、プロジェクトを作成した後、分析対象のプロジェクト内で直接 mvn コマンドを実行して、対応するプロジェクトの分析レポートを生成し、SonarQube Web で表示することができます。
大多数の開発者や開発チームにとって、実際には SonarQube は必要ありません。IDE で SonarLint によって与えられた提案を各人が解決している限り、もちろん最終的なコード品質は標準に達しています。
Ali Java プロトコル プラグイン
各開発チームには、変数の名前付け、コメントの形式、さまざまなクラス ライブラリの使用方法など、チーム内でコードの仕様があります。Ali は Alibaba 開発者マニュアルの Java バージョンを更新しています。泰山バージョンと最終バージョンについて聞いたことがあるはずです。開発者がその規定を遵守できれば、他の人があなたのコードをディスることはできないでしょう。 .アップ。
この開発マニュアルの言語レベルの仕様に対応して、Ali は Alibaba Java コーディング ガイドラインと呼ばれる IDEA プラグインもリリースしました。これはプラグイン ストアから直接ダウンロードできます。
たとえば、上記のhello_world
変数名の場合、プラグインは「アンダースコアで区切られた大文字のパターンに修正してください」と直接プロンプトを表示します。
もう 1 つの例は、コメントに関するヒントです。行末コメントの使用はお勧めできません。
また、例えばスレッドプールの利用に関しては、仕様に応じて推奨される内容があり、コアスレッド数や最大スレッド数などのパラメータは自分で定義することが推奨されており、推奨するものではありません。Excutors
ツールクラスを使用します。
これら 2 つのプラグインを使用すると、私のコードが標準化されていないと誰が言えるでしょうか。
Python に興味があり、Python を学習してより高い給与を獲得したい場合は、次の Python 学習教材セットが役立つはずです。
教材には、Python インストール パッケージ + アクティベーション コード、Python Web 開発、Python クローラー、Python データ分析、人工知能、機械学習、その他の学習チュートリアルが含まれます。基礎0の初心者でもわかりやすく、チュートリアルに沿って基礎0から体系的にPythonを学べます!
1.Pythonの全方位学習ルート
Python の全方位ルートは、Python の一般的に使用される技術的なポイントを整理して、さまざまな分野の知識ポイントをまとめることです。その有用性は、上記の知識ポイントに応じて、対応する学習リソースを見つけて確実に学習できることにあります。より包括的に。
2.Python学習ソフト
労働者が良い仕事をしたいなら、まず道具を研ぐ必要があります。Pythonを学ぶのによく使われる開発ソフトはこちら!
3. Python入門学習ビデオ
基礎0から始めるのに適した学習動画も多数あり、これを読めば簡単にPythonを始められますよ~
4. Python の演習
各ビデオレッスンの後には、対応する練習問題があり、学習結果をテストできます。
五、Python実戦事例
光学理論は役に立ちません。光学理論に沿ってコードを入力することを学び、学んだことを実際に適用する必要があります。このとき、いくつかの実践的な事例から学ぶことができます。こんな情報も載ってますよ~
6. Python インタビュー資料
Python を学んだ後は、そのスキルを活かして仕事を見つけることができます。以下の面接の質問はすべて、Ali、Tencent、Byte などのトップインターネット企業からのものであり、Ali の上司も権威ある回答をしています。この一連の面接資料を読めば、誰もが満足のいく仕事を見つけることができると思います。
7. 情報収集
上記完全版Pythonの学習教材一式はCSDN公式サイトにアップロードされており、必要な方は以下のCSDN公式認定資格のQRコードをWeChat上でスキャンすることで無料で入手できます。