Latihan 1 dari materi SOLID Principles di Clean Code — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Demonstrasikan dua prinsip SOLID:
1. Single Responsibility Principle (SRP) Buat dua class terpisah:
UserService — hanya mengelola data user: getUser(id) mengembalikan { id, name }, dan updateUser(id, data) mengembalikan { id, ...data }EmailService — hanya mengirim email: sendEmail(to, subject) mengembalikan string "Email terkirim ke [to]: [subject]"UserService tidak boleh punya method sendEmail2. Open/Closed Principle (OCP)
Buat class Circle dengan constructor (radius) dan method area() yang mengembalikan luas lingkaran.
Buat fungsi calculateArea(shape) yang memanggil shape.area().
Cetak:
userService.getUser(1) (JSON)emailService.sendEmail("[email protected]", "Selamat datang") (string)calculateArea(new Circle(7)) (angka, gunakan Math.PI * r²)UserService.prototype.sendEmail adalah undefined (boolean)