ある言語から別の言語にコードライブラリを移植したり、別のコンパイラ、環境で動作するようにコードライブラリを書き直したりしている人に対して、どのようなアドバイス(ヒント、テクニック、落とし穴など)がありますか?
ある言語から別の言語にコードライブラリを移植したり、別のコンパイラ、環境で動作するようにコードライブラリを書き直したりしている人に対して、どのようなアドバイス(ヒント、テクニック、落とし穴など)がありますか?
回答:
すべてのプラットフォーム(言語およびシステムライブラリ)には、独自のペルソナがあります。RubyプログラマーがAPIを設計する方法は、Rubyをその独自のものにする独自の機能と文化を利用しています。これは、CまたはC ++開発者がAPIを設計する方法とは明らかに異なります。これは、JavaまたはC#開発者が行う方法とは異なります。
元のプラットフォームからアイデアを取り、それらを新しいプラットフォームのコンセプトとなるように作り上げたいと考えています。プラットフォームの他のライブラリとはまったく異なる方法で設計されたライブラリを使用するほど、自然に感じるものはありません。実際に適切に設計されたエレガントなプログラミングプラットフォームがいくつかあります。これらの強みをポートに活用したいと考えています。
「to」と「from」の両方の言語/フレームワークのネイティブ機能を把握します。
JavaScriptからカレンダーライブラリをiOSに移植していました。iOSには堅牢なカレンダークラスがありますが、JavaScriptには私にとって役に立たないものがありました。(私は宗教暦からグレゴリオ暦に、またはその逆に変換していました。)
Objective-Cでライブラリ全体を書き換えるのに時間を費やしたのは、コードが大部分冗長であることを理解するためだけでした。(ちなみに、私は仕事がうまくいかず、不正確な結果が出ていました。そのとき、一歩下がって自分の間違いに気付きました。)
数十行の変換メソッドは、6行程度のネイティブフレームワークコードに置き換えることができました。
->コーディングされた方法ではなく、機能に焦点を当てます。
->一部の要素はすでに言語、プラットフォームなどで処理できるため、書く前に考えてください。
->新しいプラットフォームの利点を活用します。