コンピューティングにおいて、ハンドコーディングとは、より高レベルの表現を編集できるツールが存在する場合でも、文書またはコンピュータプログラムの基礎となる表現を編集することを意味します。通常、これは、最終製品の近似値を常に表示するWYSIWYGエディタを使用する代わりに、文書またはプログラムのテキスト表現であるソースコードを編集することを意味します。また、コンパイラや自動翻訳ツールを使用する代わりに、ソースコード全体または一部を手動で機械語に変換することを意味する場合もあります。 [ 1 ]
最も一般的には、 Web用のHTMLドキュメントを(専用のエディタではなく)直接記述すること、または高級言語ではなくアセンブリ言語(稀に、生の機械語)でプログラムまたはプログラムの一部を記述することを指します。XAMLやWikitextなどの他のマークアップ言語にも適用できます。
目的
手動コーディングを使用する理由には、次のようなものがあります。
- グラフィカル エディターまたはコンパイラーでサポートされていない機能や改良点を使用する
- グラフィカルエディタで許可されている範囲を超えてドキュメントのセマンティクスを制御する
- メンテナンスと統合を容易にするために、より洗練されたソースコードを作成する
- コンパイラによって生成されたものよりもパフォーマンスの高いマシンコードを生成します(最適化を参照)
- 高価なWYSIWYGエディタを購入する必要はありません。ただし、Web上にはオープンソースのエディタもいくつかあります。
- 共通レベルの抽象化の基盤となる手法の理解を深めます。例えば、実社会ではあまり見られなくなりましたが、コンピュータサイエンスの学生は、プロセッサレジスタやコンピュータアーキテクチャのその他の基本要素を理解するために、アセンブリ言語でプログラムを書くことが求められる場合があります。
- 抽象化やテンプレート化されたコードから抜け出す。手作業でコーディングすることで、コードをより細かく制御できるようになり、効率性の向上や、他の方法では利用できない機能の追加が可能になります。
手動コーディングでは、自動ツールを使用する場合よりも専門知識と時間が必要になる場合があります。
ハンドコード
ハンドコードとは、より抽象的なレベルで編集できるツールを持たないソースコードです。ハンドコードは、定義上、完全に手作業で編集および保守する必要があります。一部のコードはエディタ/ IDEを使用して編集することも、手作業で編集することもできますが、ハンドコードは派生コードとは異なり、作成と保守に人間の関与が長期にわたって必要となります。プロジェクトにはハンドコードと派生コードの両方が含まれる場合があります。
派生コードを作成する自動ツール自体は、通常、完全に、または少なくとも部分的に手動コードで構成されています。
参照
参考文献
- ^ Philippsen, Michael; Heinz, Ernst A.; Lukowicz, Paul (1993年8月18日). 「マシン非依存並列プログラムのコンパイル」 . ACM SIGPLAN Notices . 28 (8): 99– 108. doi : 10.1145/163114.163127 . S2CID 7707093 – CrossRef経由.