1. 次の2つの関数は、とても似たバリデーション処理を行っています。DRYの観点から、最も適切な改善はどれでしょうか?
function isValidUserName(name) {
return typeof name === 'string' && name.length >= 3 && name.length <= 20;
}
function isValidProjectName(name) {
return typeof name === 'string' && name.length >= 3 && name.length <= 20;
}
function isValidUserName(name) {
return typeof name === 'string' && name.length >= 3 && name.length <= 20;
}
function isValidProjectName(name) {
return typeof name === 'string' && name.length >= 3 && name.length <= 20;
}
「意味としては別のバリデーション」であっても、「全く同じコード」がコピペされている場合はDRYを疑うサインです。