問題タブ [hard-coding]
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.
c++ - C++アプリケーションでExe名のハードコーディングを削除するには?
Codegear C++ を使用して Form アプリケーションに取り組んでいます。コード内のすべての Exe 名はハードコードされています。Exes は共通のドライブに存在します。ハードコーディングを削除する最良の方法は何ですか? .ini ファイルを使用してもよろしいですか? はいの場合、どうすればいいですか?次のように .ini ファイルを使用してみましたが、機能しませんでした。
settings.ini ファイル:
私が追加したコードで:
exeのパスを取得するには
c# - switch ステートメントでのハードコーディングを避ける
と の 2 つのプロパティを持つオブジェクトがありText
ますType
。
タイプのハードコーディングを避けるために、データベースに配置して、将来追加できるようにします。現時点では、タイプはURL, Username and ID
.
ただし、Utility メソッドを実行して、オブジェクトがText
何であるかに基づいてオブジェクトのフィールドをクリーンアップしたいと考えてType
います (たとえば、URL の場合は「http://」を追加します)。
switch ステートメント/if else ブロックで型をハードコーディングせずに Utilities クラスでこれを行う方法はありますか。
この例では、データベース ('Type' テーブル) から ID をハードコーディングしていますが、これは決して良いことではありません!
これを行うより良い方法はありますか?
literals - コードでリテラルを非表示にする方法
コード内のリテラルの値を隠して、hexdumper や decompiler だけで簡単に追跡できないようにするための主な既存のアプローチは何ですか?
たとえば、これをコーディングする代わりに:
次のようにすることができます。
これは、私たちがやろうとしていることのほんの一例です。(はい、知っています。コンパイラはそれを最適化し、定数を事前に計算する場合があります)。
免責事項: これにより追加のセキュリティがまったく提供されないことはわかっていますが、コードがリバース エンジニアリングに対してより不明瞭 (または興味深い) になります。これの目的は、攻撃者にプログラムをデバッグさせ、時間を無駄にすることです。楽しみのためにやっているということを覚えておいてください。
java - 文字列をハードコーディングするのではなく、文字列の外部ファイル
私はいくつかの Android アプリを開発した経験があります。これらのアプリには、文字列を格納できる XML 文字列ファイルが簡単に含まれています。前回デスクトップ Java アプリを開発したとき、文字列 (ボタンのタイトル、ラベルなど) をハードコーディングしました。それ以来、これは悪い習慣であり、文字列をファイルに保存する必要があることを学びました。
これを行う方法がわかりません。
- 私は現在Eclipseで開発しています。プロジェクト フォルダにテキスト ファイルを貼り付ければよいのでしょうか。
- これは標準ですか?
- コード内でファイルをどのように見つけますか?
view - OracleDBで作成されたビューからダミー列の値をハードコーディングしたい
アクションと呼ばれるダミー列が1つあるビューがあります。数式があります{@action}
if {abc_view.name} startwith "abc" Then {abc_view.action}="アクションを表す"Else{abc_view.action} = ""
レコードフィルターセクションからこの式を呼び出すと、EclipseのCrystalReports2.0のダミー列アクションの下にある「action」だけが表示されます。どうすれば目的を達成できますか。私を助けてください。
security - パスワードをハードコーディングせずにスマートフォンからLDAPに接続するにはどうすればよいですか?
私たちのAndroidアプリは、認証とユーザーデータ(メールアドレス、電話番号など)のためにLDAPデータベースに接続します。これまで、アプリはLDAPへの接続を開き、アプリの操作を実行するミドルウェアに接続していました。アプリは基本的なリクエスト(「ユーザーを認証し、ユーザーが持っていない場合はロールを付与する」など)を送信するだけで、ミドルウェアはそれらの可能なリクエストのみを処理するように設定されています。
現在、ミドルウェアをスキップして、アプリから直接LDAPに接続するように求められています。問題は、私が見る限り、アプリでマスターLDAPユーザーのパスワードをハードコーディングしない方法がないことです。また、.apkファイルは簡単に逆コンパイルできることを知っています。
ミドルウェアを使わずに、一般の人が所有する電話のクライアントアプリからLDAPに直接安全に接続する方法はありますか?
java - Javaプログラムでテキスト文字列をハードコーディングするための代替プラクティスは?
私のプログラムには、たくさんの文字列と繰り返し文字列があります。テキスト文字列をソース コードから分離する方法はありますか。プログラム内で文字列をハードコーディングしたくありません。
PHP では、各文字列のリスト変数を含むファイルを使用していました。しかし、Java は OOP であるため、同じアイデアを実装する方法がわかりません。
私のプログラムはコマンドラインプログラムです。
c++ - C ++のハードコーディングとは何ですか?これを修正するにはどうすればよいですか?
わかりました、それで私はハードコーディングのために私のプログラムでマークされました、しかし私が何を間違えたかわからない、これは「ハードコーディングされた」私のプログラムの一部です
上記のステートメントでハードコーディングはどのように定義されていますか?どうすればハードコーディングされないのでしょうか?ありがとう
java - Java: ハードコーディングされた文字列をキーとして使用せずにプロパティ ファイルのキー名を使用する
問題文
Java プロジェクト全体でアクセスされるプロパティ ファイルがあります。
.properties
私のファイルの内容の例:
appName
Java プロジェクト全体で、単一のプロパティ にアクセスするとします。
プロパティ値を取得するためにプロパティ ファイルを反復処理したくありません。プロパティ ファイルから 1 つのプロパティ値を取得しているだけです。しかし、ハードコードされた文字列を使用してプロパティにアクセスしなければならないという事実は好きではありません。メンテナンスの問題 (つまり、ハードコードされた文字列のすべてのインスタンスの変更) が発生する可能性があるためです。
私の現在のアプローチ
私の現在のアプローチでは、プロパティ ファイル内のキー名を表す static final 変数を作成するユーティリティ クラスがあり、その変数を使用してプロパティ値にアクセスします。
しかし、これは冗長であり、メンテナンス上の懸念が残る可能性があるため、やり過ぎのように思えます。キーはプロパティ ファイルに既に存在し、ユーティリティ クラスで再度宣言しています。
get メソッドを使用してプロパティ値にアクセスするときに、コード内のキー名にアクセスするための「メンテナンス フリー」な方法はありますか?