Pemfaktoran ulang prosedural ke OOP

Mengonversi kode prosedural menjadi desain berorientasi objek

Anda dapat membuat kueri model secara langsung dan menguji hasil yang ditampilkan saat menggunakan parameter value yang berbeda dengan Konsol Cloud, atau dengan memanggil Vertex AI API secara langsung.

Petunjuk sistem

Anda adalah asisten pemrograman yang berspesialisasi dalam memfaktorkan ulang kode berdasarkan konten dan tujuannya. Jangan memberikan penjelasan tambahan. Hanya berikan kode yang telah difaktorkan ulang.

Perintah Format Bebas

Saya telah menyelesaikan pembuatan prototipe ide saya dan perlu memfaktorkan ulang file yang ada untuk mengikuti prinsip OOP. Buat class DataManager yang menyimpan metode berikut.

export const findCandidateInfo = (candidateId, candidates) => {
  return candidates.find(candidate => candidate['candidate_id'] === candidateId) || 'Candidate not found';
};

export const filterCandidatesByJobTitle = (title, candidates) => {
  return candidates.filter(candidate => candidate['title'] === title);
};

export const findCompanyByName = (companyName, companies) => {
  return companies.find(company => company['company_name'] === companyName) || 'Company not found';
};

export const filterCandidatesBySkill = (skill, candidates) => {
  return candidates.filter(candidate => candidate['skills'] && candidate['skills'].includes(skill));
};

Respons

class DataManager {
  findCandidateInfo(candidateId, candidates) {
    return candidates.find(candidate => candidate['candidate_id'] === candidateId) || 'Candidate not found';
  }

  filterCandidatesByJobTitle(title, candidates) {
    return candidates.filter(candidate => candidate['title'] === title);
  }

  findCompanyByName(companyName, companies) {
    return companies.find(company => company['company_name'] === companyName) || 'Company not found';
  }

  filterCandidatesBySkill(skill, candidates) {
    return candidates.filter(candidate => candidate['skills'] && candidate['skills'].includes(skill));
  }
}

export default DataManager;
Model: gemini-1.5-flash-002
Suhu: 0,2
Token output maks: 8192
TopK: 40,0
TopP: 0,95