問題タブ [code-complete]

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.

0 投票する
22 に答える
16726 参照

c# - より優れた C# プログラマーになるにはどうすればよいですか?

クラスを作成して簡単なこと (GUI、テキスト ファイルの読み取りなど) を実行できるようになったら、ここからどこに行けばよいでしょうか? Code Complete 2nd Edition を読み始めました。これは優れていますが、より一般的なプログラミングの本です。次に学ぶべきトピックは何ですか?

0 投票する
6 に答える
605 参照

delphi - 同じクラスでグローバル変数を設定するルーチンの適切な命名規則は何ですか?

Code Complete (Chapter 7, Section 3) は、良い関数はそれが返す値にちなんで命名されるべきであり、クラス内の適切な手続き名はそれが何をするかについて命名されるべきであると述べています.

Delphi(2009年より前)で同期メソッドを作成するとき、それらを使用してグローバル変数を設定する必要がある場合があります。これは一見悪いプログラミング手法ですが、変数を渡すことができないため、1回必要です。プロパティメソッドに使用するため、それらを「Get」または「Set」と呼びたくありません。

これらのより良い命名規則を持っている人はいますか?

0 投票する
2 に答える
380 参照

php - コーディング スタイル: 関数と手順のコーディング標準

Code Complete 2 の Ch 7.6 は私を混乱させます。どのスタイルが最適かを教えてくれるサンプル コード (php 形式) を添付しました。またはより良いものを提案しますか?ありがとう

スタイル 1

スタイル 2

スタイル 3

私は現在、スタイル 1 を使用しています。ただし、それが正しいかどうかはよくわかりません。

0 投票する
10 に答える
1588 参照

class-design - 避けるべきクラス (コードの完成)

コードの完全な本の段落について、私はやや混乱しています。

「避けるべきクラス」セクションには、次のように書かれています。

「動詞にちなんで名付けられたクラスを避ける 動作のみを持ち、データを持たないクラスは、一般的に実際にはクラスではありません。DatabaseInitialization() や StringBuilder() のようなクラスを他のクラスのルーチンに変えることを検討してください」

私のコードは、主にデータのない動詞クラスで構成されています。請求書リーダー、価格計算機、メッセージビルダーなどがあります。クラスをそれぞれ 1 つのタスクに集中させるためにこれを行います。次に、他の機能のために他のクラスに依存関係を追加します。

段落を正しく理解していれば、次のようなコードを使用する必要があります

それよりも

編集 返信ありがとうございます。

私の結論は、私の現在のコードは OO よりも SRP ですが、「貧血ドメイン モデル」にも悩まされているということです。

これらの洞察は将来私を助けると確信しています。

0 投票する
3 に答える
603 参照

c++ - Code Complete 2ed、構成と委任

このフォーラムを数週間読んだ後、最初の投稿をする時が来たと思いました。

現在コードコンプリートを読み直しています。前回から 15 年経ったと思いますが、まだコードを書くことができません ;-)

とにかく、Code Complete の 138 ページに、このコーディング ホラーの例があります。(コードの一部を削除しました)

Steve が悪いと考えているのは、機能がゆるやかに関連していることです。あるいは、彼は「従業員と、郵便番号、電話番号、または職種分類をチェックするルーチンとの間に論理的なつながりはありません」と書いていますか?

わかりました、私は彼に完全に同意します。以下の例のようなものが良いかもしれません。

zipが有効かどうかを確認するときは、次のようなことをする必要があります。

そして、それはデメテルの法則に関しては良くありません。

したがって、3 つのドットのうち 2 つを削除したい場合は、委任と、このようないくつかのラッパー関数を使用する必要があります。

しかし、ここでも論理的なつながりのないルーチンがあります。

個人的には、この投稿の 3 つの例はすべて悪いと思います。それは私が考えていなかった他の方法ですか?

0 投票する
3 に答える
2613 参照

php - 標準関数の NetBeans PHP コード補完

PHP プロジェクトの開発に NetBeans 6.9.1 を使い始めました。ある程度のコード補完は提供しますが、完全ではありません。たとえば、implode、explode などの一般的に使用される関数は、コード補完のリストに含まれていません。また、HttpRequest などの組み込みクラスから作成されたオブジェクトのコード補完があれば便利でした。

上記の項目のコード補完を取得する方法はありますか。

0 投票する
1 に答える
1048 参照

iphone - .hファイル内のメソッドに対するXCode4のコード補完

Xcode 3では、最初に実装(.m)ファイルにメソッドを記述できました。その後、同じメソッドをインターフェイス(.h)ファイルに追加します。その時点で、 Xcode3は.mファイルに記述されたメソッドのコードを完成させました。悲しいことに、Xcode 4は、Xcode3のように私のメソッドを完全にコード化できません。他の誰かがこれに遭遇しましたか、そしてこの場合のオプションはありますか?

例:

実装.mファイルは次のようになります。

インターフェイスの.hファイルは次のようになります。

0 投票する
5 に答える
955 参照

c++ - カプセル化に関するCodeCompleteからのC++アドバイス?

コードコンプリートの「適切なカプセル化」のセクションでは、プライベート実装の詳細を非表示にすることをお勧めします。例はC++で与えられます。基本的には、クラスレベルでも、インターフェイスを実装から完全に分離するという考え方です。

これは本当に時間の有効活用ですか?これは非効率的であるように見えるだけでなく(これによりどのようなパフォーマンスペナルティが発生しますか?)、コードコンプリート(「複雑さの管理」)のモットー全体が逆転したようです-これは複雑さを追加しませんか?

0 投票する
2 に答える
79 参照

c - 関連する変数と演算のグループ化?

Code Complete の第 10 章では、関連するステートメントをグループ化することが推奨されており、次の例が示されています。

このようなグループ化と並行処理は悪い設計であり、代わりにもっと分離されたものを与えると述べられています:

少なくとも私自身の観点からは、2 番目のアプローチの方が読みやすく、理解しやすく、見栄えの良いコードを提供することに同意します。だから、私の質問は、2 番目のアプローチに欠点はありますか? たとえば、考えられる問題の 1 つは、データベースなどへの一時的な接続に関するものです。

この最初のアプローチでは、1 回のオープン/クローズ サイクルで両方の保存操作が完了します。ただし、2番目のアプローチでは...

操作ごとに接続を開いたり閉じたりする必要があります。これは無駄に思えますが、実際のパフォーマンスにどのように影響するかわかりません。

不必要に長い質問で申し訳ありません...

0 投票する
1 に答える
107 参照

eclipse - シンプルな Eclipse コード テンプレート - 問題

こんにちは、Eclipse でコード テンプレートを有効にしています。

Java用のEclipseをインストールし、コードテンプレートを有効にしました(コードアシスト設定から)。"sysout" Ctrl+Space を入力しましたが、System.out.println を入力しませんでした。

また、コード補完オプションで「自動的に挿入」とは正確にはどういう意味ですか?

ありがとう。