コードレビューは、頻繁に質問、提案のお気に入りを尋ねました

最近、その欠失APPにつながる宝ポップイベントが多数のユーザーが、影響は非常に悪いです。彼らの内部コードレビューより厳密少し、あまり形式的には、クレードルに首を絞めハザードできるようになるのだろうか。これに基づき、当科では、コードレビューチームのリーダーと以前のモデルのコードレビューいくつかの最適化、強化管理および制御の中核メンバーのグループを設定しています。私は過去、コードレビュープロセスのいくつかの一般的な問題を発見し、以下に要約されています。

1、変更指示の欠如

通常、私は理由は、それがコードから翻訳することができることを意味、コードの単純すぎる数行ですが、一部の人がノーコメント全体でコードを書く、私はそれ私も料理で、一つだけ疑問に思うことでしょうれるコメントはありませんさて?

確かに、コメントや変更の説明が本当に仲間の患者のペアで、我々は多くの場合、それらに盲目の目を回し、彼らはオープンソースのフレームワークに気付きませんでした。実際には、変更のフレームワークのコードのコメントや説明を見つけることは難しいことではありません使用例を含め、非常に大きい、バージョン番号をサポートするために始めた、などが、また、困難な私たちのコードベースを検索するフルスクリーンの変更は、希望に満ちた「更新」、ある意見を提出します次のページを開くには、すべての後、彼は顔を殴られました。おそらく、問題の背後に、我々は前任者に挨拶を開始していないかもしれないので、当たり前です。

2、キャッチ虐待例外

私は、各コントローラメソッドは、そのキャッチ埋没処理方法の減少の利用可能率、その後、グローバルのtry-catchの例外がキャッチ使用して、いくつかの奇妙なサンは、プロジェクトの数で動作しました。プログラミングは、彼らは何も間違っていることを感じることがありそうでない、思考のテンプレートを生成することは容易であるが、この方法は、それはエレガントではありません。私たちは、グローバル統一例外処理セクションを使用することができ、エラーコードに応じて埋没可用性の低下が返されます。コントローラは、統一標準メソッドが返す結果オブジェクトでない場合、それはそれの再建の先頭に作業を停止します!最適化の前にもう一つの方法は、違法判断や判断は、すべてを省略することができます空にされていないではない、ので、大きな異常キャプチャがあるすべての後に私たちのために、私たちの警戒中間結果を緩和することは簡単ですか?

上記の問題は、コードの動作に影響を与えないだろうと述べたが、シーンが業務操作に切り替わり、あなたは異常なツバメがロールバックを実行する機会を起こさない可能性があるため、注意する必要があります。異常な心配、発信者のであれば、私はトップにそれを投げてお楽しみください!

3、過度の第三者を信じます

過度のフロントエンドを含む第三者の意味がチェックされていないパラメータを渡すことを信じて、アップストリームインターフェイスを呼び出した結果が、何のパラメータチェックが書き込みデータが他のチームによって提供されるインタフェースと呼ばれていない何の裁判官を返さない、最後の例では、SQLにつながる可能性主な責任は自分自身ではないが、利用しています。しかし、私が多すぎるため、サードパーティの本当の開発を持っているほとんどのパラメータを使用すると、更新操作を実行するときに空にされていませんが、現在のパラメータの終わりに合格しなかったとき、クラスから数行のコード私のコピー、ライブラリランニングを削除した体験と信じてときラッパークラスのパラメータの型は、データベースレコードを覆うように、デフォルト以外の非空です。作るのは簡単、null値の判断を処理するためにも、このエラーが初心者。

図4に示すように、可変範囲が大きすぎます

私たちは不注意システムは明らかに不確実性を増加させ、二つの異なる方法で行われた、このような作成と割り当て変数などの変数のスコープをおもちゃに始めます。また、メインロジックを紛らすには余りにも簡単に変数。彼らが持っている、または接触と協力を持っている場合は、我々は特別な管理方法を共有する必要があります。

図5に示すように、プロセスは、ステージの結果の欠如であります

プログラマチェックが正当でない場合、判定文、および戻り値の結果をたくさん読むことを好きではない迅速事前異常決意は、直接のリターンなどの基本的な最適化手法であり、そのようなループの巣を低減するよう制御マークを削除します。セマンティック再び段階的なプロセスは、まあ結果持っていない点にされ誇張、このコードは、より階層化され、全体的なプロセスをより明確に。

6、日記の印刷の問題

私はほとんどの企業はマイクロアーキテクチャのサービス、このアーキテクチャの難しさの一つは、特にクロスチームに関連して、すぐにトラブルシューティングの問題ですが採用していると信じています。あなたの指先でカプセル化された日記情報は、当社の武器、記録パラメータ、中間結果は、結果を返した後、異常は、この情報を使用して、上流のフィードバックの問題を探して自信を持って、そして背中オンライン日記を追加するためにコードを変更することなく、さらに多くなります。だから、INFO日記のいくつかのレベルを追加することが可能な限り、いくつかの珍しい記録情報と同じくらい。しかし、全てのジャーナルのバイパス・ロジックの後に、ヌル・ポインタ例外は、シーケンスの記録が使用無制限非同期キューを回避するために、空のオブジェクトを回避するように、記録用メモリのオーバーフローまたは良いよりも害ために生成されます。

ここにこの記事では、あなたと私のシェアは簡単の間違った6種類のサードパーティの範囲にわたり、変数が大きすぎると考えている、変更の説明不足、キャッチ例外の乱用を含め、テキストで作るためにまとめるために、最後に来て、プロセスが欠けていますステージ結果、日記の印刷の問題。私はあなたの助けてください、シェアを願っています。


おすすめ

転載: juejin.im/post/5e8d72a2f265da47df1cc76a