常に関数にコメントしてください..!!
何かにコメントすることは、基本的に誰かが何かを判断したり、別の見方をしたりする方法です。その過程で良いか悪いかを問わず、コメントに基づいて改善するか無視するかを検討します。私たちに与えられたもの。
しかし、この投稿では、政治については触れませんが、Web 開発に関するより技術的な話です。私の見解では、なぜコードを書くときにこれを行う必要があるのかということです。
今回の議論では、もちろん JavaScript で作成した関数についてコメントすることがいかに重要であるかがわかります。次のような関数があると想像してください。
function setLocation(x, y) {
window.location.href = `${x}://${y}`;
}
window.location.href = `${x}://${y}`;
`x`
引数との説明は何`y`
ですか? 記入しますか、`object`
それとも`string`
何か特別な入力を記入できますか? Typescript を使用する別の方法では、型データのメカニズムは Typescript 自体によって実行時または開発時に行われますが、JavaScript を使用するのはどうでしょうか?
はい、JavaScript (JS) では、関数内の引数は、 IntelliSense エディターによって、データが許可されることを意味するものとして表示されます。`setLocation`
`any`
基本的にわかるように、ここには 2 つの問題があります。ComputerとHumanの場合、コンピュータがコードを読み取ると、設定した引数名に関係なくコードが実行され続けますが、Humanはどうでしょうか?
私たちが作成する関数は、次の開発者 (人間) が理解するのが難しいでしょう。関数に何を送信するかを知らずに`setLocation`
、コメントを残すと別になるからです。
// args `x` with data type string, is a protocol
// args `y` with data type string, is a domain name
function setLocation(x, y) {
window.location.href = `${x}://${y}`;
}
JSDocの標準に従って、作成した関数についてコメントを試みます。上記のコメントを次のように変更します。
/**
* A function that can be executed on address bar browser
* @param {string} x a host url
* @param {string} y a domain url
*/
function setLocation(x, y) {
window.location.href = `${x}://${y}`;
}
確かに、IntelliSenseは、ユーザーがそれを使用したいときにその関数で何を送信する必要があるかを判断するのに役立ちますが、完全に厳密に型指定されているわけではありません
これは、関数のパラメーターとしてデータ オブジェクトを送信する必要がある関数がある場合に特に役立ちます。たとえば、次のような関数があります。
/**
* @param {object} fullName
* @param {string} fullName.firstName your first name
* @param {string} fullName.lastName your last name
*/
function overwriteData(fullName) {
return {
firstName: "Adib",
lastName: "Firman",
...fullName
};
}
通常のIntelliSenseと同様に、ヒントが得られます。このアプローチの興味深い点は次のとおりです。
上の図では、 IntelliSenseからの指示に従ってデータを入力します。もちろん、エディターからヒントが得られます。興味深いですね。
次の質問は、作成したすべての関数についてコメントする必要があるかどうかです。もちろん、このような関数の例
const sum = (firstNum, secondNum) => firstNum + secondNum;
結論
使用方法に応じて、関数にコメントを付けてください。指定されたパラメーターは非常に複雑ですか? または、作成されたネーミング関数と引数から読み取り可能ですか?
ただし、関数にコメントを付ける必要があると思われる場合は、次の開発者 (人間) が簡単に保守できるようにするため、そのほうがよいでしょう。
ありがとうございました。