Menu
CoddyTech

Tanggung jawab tunggal

Pelajaran 22 dari 28 dalam kursus Clean Code: Menulis kode yang lebih baik dengan Python di Coddy.

"Seharusnya tidak pernah ada lebih dari satu alasan bagi sebuah class untuk berubah."

Prinsip tanggung jawab tunggal (SRP) menyatakan bahwa setiap class dan fungsi seharusnya hanya memiliki satu tugas atau satu alasan untuk berubah.

Tujuan:

  • Membuat class dan fungsi yang sangat kohesif dan tangguh.
  • Mendorong komposisi class
  • Menghindari duplikasi kode
challenge icon

Tantangan

Sedang

Kamu diberi class Person yang memiliki method save untuk menyimpan orang tersebut ke database.

Dalam kode yang diberikan, class tersebut memiliki dua tanggung jawab:

  1. Membuat dan mengelola object orang
  2. Menyimpan orang tersebut ke database

Tugasmu adalah memastikan Person hanya memiliki satu tanggung jawab.

  • Buat class Database dengan method save.
  • Buat koneksi antara Person dan Database

Ada banyak cara untuk mengerjakan tugas ini, tetapi kita menargetkan satu cara tertentu. Gunakan petunjuk jika diperlukan!

Perhatikan bahwa saat kita membuat class terpisah untuk Database, kita bisa mengelola semua hal yang berkaitan dengan database di satu tempat!

Coba sendiri

class Person:
    def __init__(self, name):
        self.name = name

    def save(self):
        print('Saving person with name "%s"' % self.name)

Semua pelajaran di Clean Code: Menulis kode yang lebih baik dengan Python

Latihan sendiri: Compiler Python online