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

ソースコードは、人間が読めるコンピュータ言語を使用して、通常はテキストとして記述されたコンピュータ命令(おそらくコメント付き)のコレクションです。

7
レガシーコードベースで、使用されているものと使用されていないものをすばやく見つけるにはどうすればよいですか?
そのコードベースを維持する契約を結ぶ前に、実質的なレガシーコードベースのように見えるものを評価するように頼まれました。 このような状況になったのはこれが初めてではありません。現在の例では、コードは適度に知名度が高く、かなり高負荷のマルチプレイヤーゲームサイト用であり、一度に少なくとも数千人のプレイヤーをオンラインでサポートします。そのようなサイトの多くはそうであるように、これはフロントエンドとバックエンドのテクノロジーが混在しています。 内側から見たサイト構造は混乱しています。「_OLD」と「_DELETE」という接尾辞が付いたフォルダがいたるところにあります。フォルダの多くは、目的を果たさないか、非常にわかりにくい名前を持っているようです。正規のフォルダ内にさえ、いくつもの古い未使用のスクリプトが存在する可能性があります。それだけでなく、それ以外の場合は操作可能なスクリプトであっても、間違いなく多くの無効なコードセクションがあります(はるかに差し迫った懸念)。 これは、現在のメンテナーからサイトの元の開発者/メンテナーへの引き渡しです。これらの種類のシナリオでは当然のことですが、現職者は、契約上および法律上、新たに選出されたメンテナーにそれをプッシュするために必要なもの以外、ハンドオーバーとは何の関係もありません。したがって、既存のサイト構造に関する情報を現職から抽出することは、単に問題外です。 コードベースに入るために頭に浮かぶ唯一のアプローチは、サイトのルートから始めて、リンクされたスクリプトをゆっくりと、しかし確実にナビゲートすることです...そしておそらく何百もの使用があり、そうでないものは何百もあります。特に古いFlashアプリケーションでは、他のスクリプトへのリンクがテキストファイル(.AS / ActionScript)ではなくバイナリ(.FLA)に埋め込まれている可能性があるため、サイトの大部分がFlashにあることを考えると、これはさらに簡単ではありません。 だから、保守性のために全体としてコードベースを評価する方法について誰かがより良い提案を持っているのだろうかと思っています。WebサーバーのOS(アクセスできる)上のファイルへのアクセス頻度のグラフを表示する方法があれば素晴らしいと思います。一度も使用されないファイルがあるため、一度も使用されていないファイルを削除できます。

11
ソースコードを顧客に引き渡す
顧客向けにいくつかのiPhoneアプリケーションを作成しましたが、今日、必要に応じてメンテナンスを行えるようにソースコードを引き渡すように依頼されました。これまで、コードの問題は議論されていませんでした。 これに関して「一般的な」慣習はありますか? また、これはどのように価格に影響しますか?

3
ソースコードアクセスを使用した社内NuGetパッケージの管理
社内のプロジェクトを共有したい社内ライブラリがたくさんあります。これらはいくつかの要件です: ライブラリソースは、エンドプロジェクトから分離されたリポジトリに保存されます 終了プロジェクトには、NuGetを介したライブラリが含まれます エンドプロジェクトでの作業中に、任意のライブラリのソースコードを簡単に検査できる必要があります プライベートNuGetリポジトリの設定は問題ではありませんが、ソースの管理は問題です。私たちは、ソースサーバを経由してソースを公開しようとしましたが、それはちょっとあなたが定義/実装に移動しようとすると、外部コードのデバッグ中にVSは、ソースをダウンロードし、ではない:作品ではなく、かなり。基本的に、デバッグ時にのみソースコードにアクセスできますが、これは必要なものではありません。 したがって、質問は次のとおりです。 同じレポ/ソリューションにコードを入れる必要なく、内部ライブラリのソースコードへのアクセスを提供する方法が存在します VSがデバッグだけでなくナビゲーションにもシンボルを使用するように、Symbolサーバー/ NuGetフィードコンボを設定する方法はありますか? ReSharper /その他のアドインの使用はオプションです。

11
System.out.println()の使用がそれほど悪いのはなぜですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 もちろん、エラーメッセージまたは警告にログフレームワークを使用することは非常に有効です。ただし、短時間で新しいことを試してみたい場合は、System.out.println()を使用することがあります。 System.out.println()を使って簡単なテストを行うのは本当に悪いのでしょうか?

10
}の後のコードブロックの最後にある「//…」コメント-良いか悪いか [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はしばしばそのようなコメントが使用されるのを見ました: function foo() { ... } // foo while (...) { ... } // while if (...) { ... } // if そして時には if (condition) { ... } // if (condition) 私はこのプラクティスを理解したことがないため、適用しませんでした。コードが非常に長いため、このエンディング}が何であるかを知る必要がある場合は、おそらくコードを個別の機能に分割することを検討する必要があります。また、ほとんどの開発者ツールは、一致するブラケットにジャンプできます。最後に、最後の点は、私にとって、DRY原則への明らかな違反です。条件を変更する場合は、コメントも変更することを忘れないでください(そうしないと、メンテナーやあなたにとっても面倒になります)。 なぜ人々はこれを使用するのですか?それを使うべきですか、それとも悪い習慣ですか?

6
メソッドの署名のすべてのパラメーターにjavadocコメントを書く必要がありますか?
私のチームの開発者の1人は、メソッドの署名のEVERYパラメーターにjavadocコメントを書く必要があると考えています。私はこれが必要だとは思わないし、実際、それは有害でさえあると思う。 まず、パラメーター名は説明的で自己文書化されるべきだと思います。パラメータの目的がすぐに分からない場合は、おそらく間違っています。ただし、パラメータの目的が不明な場合があることは理解しています。そのため、その場合は、パラメータを説明するjavadocコメントを作成する必要があります。 しかし、すべてのパラメーターに対してこれを行う必要はないと思います。パラメータの目的がすでに明らかな場合、javadocコメントは冗長です。あなた自身のために余分な仕事を作成しているだけです。さらに、コードを保守する必要がある人のために余分な作業を作成しています。メソッドは時間とともに変化し、コメントを維持することはコードを維持することとほぼ同じくらい重要です。「XはYをZの理由で行う」などのコメントを何回見て、そのコメントが古いことを確認しましたが、実際にはメソッドはXパラメーターさえも取りません。人々はコメントを更新するのを忘れているので、それは常に起こります。誤解を招くコメントは、まったくコメントしないよりも有害であると主張します。したがって、過剰なコメントの危険性があります。不要なドキュメントを作成することにより、 しかし、私は自分のチームの他の開発者を尊重し、おそらく彼が正しいと私は間違っていることを受け入れます。だからこそ、仲間の開発者に質問を投げかけます。実際、すべてのパラメーターにjavadocコメントを書く必要がありますか?ここでは、コードは会社の内部にあり、外部の第三者によって消費されることはないと想定しています。

8
DBを使用するのではなく、実際のデータ値をコードにハードコーディングするのはいつですか?
私にとって長年の疑問は、いつデータベーステーブルにデータ(実際の値)を保存し、いつコードに保存するのかということです。 知られていないコンセンサスは、通常そのようなものでした(*): 単一の変数または単純な構造、またはいくつかの値の配列である場合、コードにデータを直接入れます。 [* コンセンサスはコメントと回答で議論されていますが、基本的には、質問を開始するための何らかの前提を望んでいたので、気軽に挑戦して改善してください] 例: $number = 44; $colors = array("blue", "yellow", ... "mauve"); 同じタイプの数百行以上のデータがある場合は、データベースを使用します。 しかし、灰色の領域があるようです。それほど明確ではないケースはどうですか?決定を下すために注意を払う必要がある考慮事項と要因は何ですか? 例: 会社が「412T」として表すことができる10〜15種類のモーターフレームを使用しているとします。あなたはそれらの約30を持っています、そして、彼らはめったに変わりません。それらのDBテーブルを作成するか、データベースにハードコーディングできます。この場合、モーターは静的で物理的なものであり、頻繁に変更されることはありません。 それらをコードに保持すると、ソース管理の対象となります。データベースでは、通常、DBの変更は追跡されません。しかし、それらをデータベースに保持すると、コードをデータから解放(分離)できます。 私が使用できる別の(実際の)例は、私の質問です:https : //stackoverflow.com/questions/26169751/how-to-best-get-the-data-out-of-a-lookup-table(現在48オプションデータの行)。


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

9
インタビューにコードを持ち込みますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックソフトウェア工学スタックExchange用。 4年前に閉鎖されました。 印刷されたコードまたはUSB上のコードをインタビューに持ち込むことは良い考えですか?もしそうなら、どんな種類のコードを持ってくるべきでしょうか。大きなプロジェクトを避けて、自分のスキルを誇示する小さなスニペットを表示する必要がありますか?

2
intellijがコードを自動フォーマットする方法をどのように変更しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 IntelliJはJavascriptコードを使用して奇妙なフォーマットを実行します。この方法でフォーマットを停止する方法を見つけようとしています。jQuery関数をつなげると、次のような自動作成コードがインデントされます。 $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* this is where the cursor and closing braces end up */ }) 私はそれを次のように見せたいです: $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* cursor and closing braces indented normally */ }); …

7
開発アプローチ:ユーザーインターフェイスインまたはドメインモデルアウト?
Smalltalkを使って何も配信したことはありませんが、Smalltalkで遊んだ短い時間は間違いなくその価値を残しました。エクスペリエンスを記述する唯一の方法は、本来の方法であるMVCです。基本的に、アプリケーションのすべての面倒な作業は、ビジネスオブジェクト(または、その傾向がある場合はドメインモデル)で行われます。標準コントロールは、何らかの方法でビジネスオブジェクトにバインドされます。たとえば、テキストボックスはオブジェクトのフィールドにマップされます(フィールド自体はオブジェクトなので、簡単に実行できます)。ボタンはメソッドにマップされます。これはすべて非常にシンプルで自然なAPIで行われます。オブジェクトのバインドなどについて考える必要はありません。それは機能します。 しかし、多くの新しい言語とAPIでは、外部から考えることを余儀なくされています。最初はC ++とMFCで、そして今はC#とWPFで、Microsoftはイベントハンドラーを実装してアプリケーションを構築するGUIビルダーに夢中になりました。Java Swingの開発もそれほど変わっていません。自分でフォームのコントロールをインスタンス化するコードを書いているのはあなただけです。一部のプロジェクトでは、ドメインモデルさえ存在しない場合があります-イベントハンドラーだけです。私はほとんどのキャリアのためにこのモデルの中とその周りにいました。 それぞれの方法で、あなたは違った考え方を強いられます。Smalltalkアプローチでは、GUIが愚かである間、ドメインはスマートです。デフォルトのVisualStudioアプローチでは、GUIはスマートですが、ドメインモデル(存在する場合)はかなり貧弱です。 私が仕事をしている多くの開発者は、Smalltalkアプローチに価値を見出し、そのアプローチをVisualStudio環境に押し付けようとします。WPFには、それを可能にするいくつかの動的バインディング機能があります。しかし、制限があります。ドメインモデルに属するコードの一部は、必然的にGUIクラスになります。 では、どのようにコードを設計/開発しますか?どうして? 最初にGUI。ユーザーとの対話が最も重要です。 最初にドメイン。UIを配置する前に、システムが正しいことを確認する必要があります。 どちらのアプローチにも長所と短所があります。ドメインモデルは、クリスタルの大聖堂と空のパイでそこに収まります。GUIは迅速かつ汚い(時には本当に汚い)状態で収まります。 さらにボーナスがあります:コードが保守可能であることをどのように確認しますか?

5
新しい会社でコーディングを開始するのに必要な時間[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私は4年間ソフトウェアエンジニアであり、初めて会社を変更したばかりです。 会社はペアプログラミングを使用しており、3日間で、1行もコードを書くことができませんでした。前の会社で非常に生産的だったので、私はとてもイライラしています。 コードベースは大きく、rspec、haml、jasmineなど、私がよく知らない5〜6個の言語/ツールを使用しています。それでも、私はひどい気持ちになります。 今週の週末、アプリケーションの理解を深めるためにUMLを作成しましたが、今週は十分な量のコードを書くことができないと思います。 これは正常ですか? 仕事を変えて、なじみのない言語/ライブラリで書かれた大きなコードベースに飛び込むときのあなたの経験は何ですか。 もちろん、正確な所要時間を求めているわけではありませんが、過去の経験やプロセスを作成するための事柄は素晴らしいことです。 ところで、私はすでに以下の質問と回答を読んでいます、 どのようにして大規模なコードベースに飛び込みますか? /programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase /programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase 更新 すべての素晴らしい提案!私はちょうど仕事から来ました、私はたくさん働きました! ペアプログラミングについて: 一般的に彼らはコードを書いており、私は一瞬でも見逃さないようにしています!コードを記述しようとすると、どのファイルを編集すればよいかわからないため、永遠に時間がかかることはわかっていますが、それ以外にも、6-7言語/フレームワークを使用しています。これらの構文すべてを一度に理解し、習得することは容易ではありません。 会社がエンジニアのためにどれだけ準備していたか: 彼らはよく組織されているとは言えません。彼らは私がすぐにコードを書き始めることを期待しています。 積極的にメモをとる: データモデルに関する新しいコマンドや何かを書くときは、常にメモを取っています。私の仲間はとても頭が良くて親切な人たちで、私はたくさんの質問をしようとしています。 これは一般的ですか?: @Telastyn、答えてくれてありがとう、少し気分が良くなりました。私の問題はそれほど珍しいことではないようですが、この仕事の前は本当に生産的でしたが、今では本当に役に立たず、賢くないと感じています。 すぐにバグの解決/問題の実装を開始できることを願っています。 使用するフレームワーク/言語について: 私はそれについて本当に正直でした、私は私が実際に知らない何かを知っているとは言いませんでした。しかし、私はそれほど多くのことを期待していませんでした、そして私が申し出を受け入れた日に仕事を始めたので、私は自分自身を準備する時間を持っていませんでした。 @Southpaw Hare、あなたの経験を共有してくれてありがとう。あなたは、絶対に正しい。これらすべてのことを学べるという保証はありませんが、試しています。最後に、すべての構文を一度に学ぶことは難しく、それも主な問題だと思います。私はその言語を知っているのでルビーコードでうまくナビゲートでき、ブラウザインスペクターのおかげでjsコードでナビゲートできるが、問題は私が知らないフレームワーク/言語で実際のコードを書くことです。

11
バージョン管理コメント-過去または現在時制[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 バージョン管理のコメントについて、他のユーザーは何をしますか/推奨します-過去形または現在形? すなわち xをyに変更しました。 または xをyに変更します。

5
初心者向けのLinuxカーネルソースコードを理解する方法 [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 私はメモリ管理、特にLinuxカーネルのページ置換コンポーネントに取り組むことに興味がある学生です。 カーネルソースの理解を始めるのに役立つさまざまなガイドは何ですか? Mel GormanによるLinux Virtual Memory Managerの理解とCesatiとBovetによるLinux Kernelの理解の本を読みましたが、コード全体の制御の流れについては説明していません。それらは、使用されるさまざまなデータ構造と、さまざまな機能が実行する作業を説明するだけです。これにより、コードがより複雑になります。 私のプロジェクトでは、メインストリームカーネルでページ置換アルゴリズムを調整し、一連のワークロードのパフォーマンスを分析します。わかりやすいLinuxカーネルのフレーバーはありますか(linux-2.6.xxカーネルでない場合)?

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