タグ付けされた質問 「code-quality」

高品質のコードを書くためのベストプラクティスに関する質問。

9
プログラマーは、コードの表現力を高めるためにレッスンを書くべきですか?
プログラマーは作者であり、抽象的な思考や概念を表現するためのコードを書いているので、他のプログラマーは問題や誤解なく良いコードを読む必要があるので、プログラマーはより良いコードを書くためにレッスンを書くべきですか? 概念と現実世界の問題/エンティティを抽象化することは、優れたコードを書く上で重要な部分です。また、コーディングに使用される言語の優れた習熟により、プログラマーは自分の考えをより簡単に、またはより良い方法で表現できるはずです。また、コードを改善するためにコードを記述または書き換えようとすると、関数、変数、またはデータ構造の名前を決定するのに多くの時間を費やすことができます。 これは、異なるプログラマー間の誤解の原因となることが多い、複数の意味を持つコードの記述を避けるのにも役立つと思います。コードは常にその機能を明確に表現する必要があります。

14
ソースコードのスペルミスが深刻な問題であるかどうかを調べる方法 [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 コードベースには毎日非常に厄介なスペルミスがありますが、ここから非常に短いが代表的な例を再現します。 ArgumnetCount Timeount Gor message from queue 残念ながら、これは決して一人に限定されません。私たちのチームにはこれに貢献する英語を母国語としない人がたくさんいますが、私はアメリカ人で生まれ育ったソフトウェアアーキテクトに最悪のスペルミスのいくつかを特定することもできます。 これらは、電子メール、プレゼンテーション、ドキュメントなど、ソフトウェア開発会社で書かれた情報のあらゆる部分にも見られます。 それが深刻な問題かどうかを調べる方法を知りたいですか? 私は常にこれらのスペルミスに懸念を抱きましたが、私自身の個人的な公式ポリシーは、私たちは正しいことをするためにお金を払わないこと、物事を成し遂げるためにお金を払うことであるので、会社の中で私はそれについて誰も本当に批判しませんでした。しかし、私は親しい友人の何人かとこの問題を提起しました、そして、それを永久に解決しませんでした。

10
コード品質と強力な開発者パーソナリティのバランスを取る方法
作業中のコードレビューでは、コードベースの全体的な品質や保守性を必ずしも向上させるわけではありませんが、「賢い」と考えるコードとパターンを見てきました。私はフィードバックでこれを指摘し、反論に納得しません。このコードがレポジトリになり、後にプロダクションに移行するとき、私は少し心配です。 私は団結力のあるチームを維持したいので、自分の留保について口論しすぎて緊張を引き起こしたくありません。私はまた、あまりにも寛大にならずに、お客様に素晴らしい製品を作りたいです。 伝統的に、誰がどのようにチェックインされ、どのように「ベト」パワーを持っていますか? コードはどのように機能しますが、つま先を踏まずに複雑すぎる/巧妙なコードを削除できますか?

11
スキルレベルの異なるチームをどのように管理すればよいですか?
私は友達と一緒にソフトウェアプロジェクトに取り組んでおり、テクニカルリーダーに任命されました。これらの人はどれも悪いプログラマーではありませんが、私は彼らよりもかなり多くの経験を持っています。チームの全員に作業を分散できるようにする必要があります。また、お互いのつま先を踏まないようにする必要があります。彼らがこのプロジェクトを成功させるために必要な品質とスケーラビリティの比較的高い基準を満たしていること、彼らがコミットするすべてをレビューする必要はありません。 マイクロ管理を避けながら標準を維持するにはどうすればよいですか?ダイアグラムを作成し、コードレビューをスケジュールし、壊れる可能性のあるものを修正できると信頼するだけで十分ですか、それともTDDルートに行ってチームが満たす明示的なテストを作成する必要がありますか?

10
「コピー&ペースト」コーダーをすばやく除外するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 コードをコピーして貼り付けるだけで機能することを期待し、機能する場合はチェックインする人の履歴書を除外する方法が必要です。これはすべて、システム内の残りのコードを理解する(または気にする)ことなく行われます。 確かに、コードのコピーと貼り付けは、新しいオブジェクト、コントロールなどの学習の一部であることを知っていますが、それが開発キャリアの70%(またはそれ以上)を占めるかどうかはどうすればわかりますか? 私はおそらく、スキルがプロジェクトに対して非常に時代遅れであるか、プロジェクトにとって無関係である上級レベルの人に出会ったことがあります。その結果、同じプロジェクトでJSON、AJAX、コールバック、ASMX、WCF、およびポストバックのミスマッシュが発生します。各テクノロジーが使用されている場所の背後に一貫性やロジックがないことは明らかです。 最悪の場合、このタイプの開発者はセキュリティの問題と攻撃のベクトルを作成します。 質問 プログラミングのバックグラウンドが低い人を除外するにはどうすればよいですか?履歴書レベルでできますか?そうでない場合、インタビュー中にこれを行うにはどうすればよいですか。

11
他の作業中に既存の欠陥を修正する必要がありますか?
難問:新機能の作業中または欠陥の修正中に、コードに古い問題が見つかります。あなたは何をするべきか?それを修正し、コードの動作を変更する危険を冒してください。それは、これまでに何らかの欠陥によってうまく機能しているか、あるいは欠陥が検出されていないか、報告する時間がないかのどちらかです。そのままにして、問題が原因でコードを後で操作しにくくする必要がありますか?問題を修正すると、元のタスクの時間が増えるだけで、強制的に回帰テストが行​​われます。仕事に感謝する人はほとんどいません。しかし、それを修正することは、どういうわけか正しいようです。問題の少ないコードは、リファクタリングやビルドが簡単です。 Webアプリケーションの近代化に取り組んでいるとき、私はこの状況に何度も気づきました。これらの古いバグに取り組んでいるとき、自分が強迫観念を持っているのか、それとも名誉あるのかはわかりません。これらの状況をどのように処理しますか? ありがとう、コーリー

4
try catch-blocksの良い使用法は?
私は常にこれに取り組んでいます... try / catchingと、ホットポテトのようにコールスタックにスローバックされるタブ、ブラケット、例外のこのわいせつな混乱にならないコードとの適切なバランスを見つけようとしています。たとえば、SQLiteを使用する現在開発中のアプリがあります。SQLite呼び出しを抽象化するデータベースインターフェイスと、データベースに出入りするものを受け入れるモデルがあります。したがって、SQLite例外が発生した場合は、モデル(呼び出し元)に投げ込まれます。 )、AddRecord / DeleteRecord / whateverを呼び出した人に渡す必要がある人... エラーコードを返すとは対照的に、エラーコードがなど、忘れられ、無視することができますので、私は(許可され、私は例外は基本的に処理する必要があるのに対し、例外のファンだ可能性があり、私はよ...キャッチし、すぐに移動します)確かに、私が今していることよりも良い方法があるはずです。 編集: 私はこれを少し異なって表現する必要がありました。私は異なるタイプなどとして再スローすることを理解しています。私の質問は...そうするとき、どのようにコードをきれいに保つのが最善ですか?しばらくすると、私にとって非常に混乱し始めます。

6
クリーンコード-リテラル1を定数に変更する必要がありますか?
マジックナンバーを避けるために、リテラルに意味のある名前を付ける必要があるとよく耳にします。といった: //THIS CODE COMES FROM THE CLEAN CODE BOOK for (int j = 0; j < 34; j++) { s += (t[j] * 4) / 5; } -------------------- Change to -------------------- int realDaysPerIdealDay = 4; const int WORK_DAYS_PER_WEEK = 5; int sum = 0; for (int j = 0; j …

3
関数型プログラミングで管理可能なコードを書く方法は?
私は関数型プログラミング(JavaScriptとNode.jsを使用)を開始しましたが、見た目からは、作成しているコードは、オブジェクト指向のパラダイムの一種。 OOPを使用すると、コードを簡単に管理し、拡張可能にするためのプラクティスに精通しています。しかし、関数型プログラミングでも同様の慣習があるのは確かです。

4
面接で本番コードを候補者に見せますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私はこれが複数回起こるのを見ました: 候補者は会社が好きで、インタビューで成功します。その後、仕事に取り掛かり、最初の日の終わりに、彼はコードベース/プロジェクトが彼が時間を費やしたいものではないことを確信しています。そこで彼はすぐに去ります。 インタビューで候補者をコードベースに紹介すると、この問題を解決できる可能性があると思います。さらに良いかもしれません:「コードのこの部分をどのように改善しますか?」このように、候補が「コードベースに適している」かどうかは明らかです。 このアプローチはどこでも適用されていますか?面接で候補者にあなた自身のコードベースを見せてもらえますか:候補者が面接プロセスの一部として/尋ねた場合?

7
修正したコードのうち、誇りに思っている最悪の部分は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 誇りに思っているものがいくつかありましたが、そのうちのいくつかは数年前に自分で書いたものです。必ずしもバグがある必要はなく、単に悪いコードです。

2
ボブおじさんは「名詞句名」とはどういう意味ですか?
ボブおじさんのきれいなコードを読んでいます。私は英語を母国語としないため、次の声明を理解できませんでした。 クラスとオブジェクトのような名詞や名詞句の名前を持つ必要があり Customer、WikiPage、Account、とAddressParser。避け言葉が好き Manager、Processor、Data、またはInfoクラスの名前インチ クラス名は動詞であってはなりません。 私が知っているように、のいずれもManager、Processor、Data、およびInfo動詞である、そうではありませんか?彼が強調したい実際のポイントは何ですか?

3
正式な方法の広範な採用を妨げる障壁は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 正式な方法を使用して、アプリケーションのコードを指定、証明、生成できます。これはエラーが発生しにくいため、主に安全/クリティカルプログラムで使用されます。 日常のプログラミングやWebアプリケーションなどでもっと頻繁に使用しないのはなぜですか? 参考資料: 正式な方法 B法 ホアロジック

5
すべての開発者にコードレビューを行わせる
私は7-8人の開発者チームのソフトウェア開発者です。私たちは現在かなり長い間コードレビューを行っており、コードの品質は時間の経過とともに向上しています。 しかし、最近、一部の開発者が他の開発者よりも多くのコードレビューを求められていることに気付きました。私は彼らの柔軟な態度のためだと思います。 私の見解では、これはコードレビューの実施方法ではありません。すべてのチームがそれを説明し、コードレビュー担当者が変更を簡単に受け入れる意思があるために選ばれるべきではありません。 チームでこの問題にどのように対処しますか? コードレビュー担当者を選択するためのルールを確立しましたか? コードレビュー担当者は、(良い)コードレビューを行った時間に対して報われるべきだと思いますか?そして、彼らはどのように報われるべきですか? あなたの答え/アイデアをありがとう。

2
16オクテオンを超えるNPathの複雑さは現実的ですか?または、ツールを壊しましたか?
PHPMD(http://phpmd.org/)を使用してPHPコードの大部分(1153行)を測定したところ、コードのNPathの複雑さは16244818757303403077832757824であることがわかりました。 それは私にとってクレイジーに大きな数字のように見え、おそらくPHPMDが何らかの形で壊れていることを示唆しています。人間によって書かれたコードの一部がこのような高いNPath複雑さを持つことさえ可能ですか?循環的複雑度は351です。 おそらく重要な2つの詳細- これはHTMLと混合した手続き型コードであり、PHPMDはオブジェクト指向コードのみを測定します。これを回避するために、単一の関数を使用してファイル全体をクラスにラップしました。これは、ファイルの使用方法を表しています。 このファイルは一連のネストされたswitchステートメントで構成されており、その中には多数のif..elseステートメントがあります。したがって、確かにかなり複雑です。 編集 PHPMDが私に嘘をついているかどうかを疑っていないことを明確にしたい。私は、コードがひどい混乱であることを知っています、私はただ、どんなコードでも本当にそんなに悪いことが可能かどうか疑問に思います。答えはイエスのようです、それは非常に可能です。
13 php  code-quality 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.