Rumah  >  Artikel  >  hujung hadapan web  >  Memahami Kod Bersih: Kemunculan ⚡️

Memahami Kod Bersih: Kemunculan ⚡️

Patricia Arquette
Patricia Arquetteasal
2024-10-07 14:21:30838semak imbas

Understanding Clean Code: Emergence ⚡️

Bab 12 Kod Bersih, bertajuk "Kemunculan," meneroka cara perisian yang bersih dan tersusun dengan baik muncul daripada pematuhan kepada prinsip reka bentuk asas.

Kemunculan dalam reka bentuk perisian merujuk kepada proses yang melaluinya tingkah laku atau fungsi kompleks timbul daripada peraturan yang mudah dan difahami dengan baik.

Mematuhi peraturan ini boleh membantu pembangun menghasilkan perisian yang mudah diselenggara, dilanjutkan dan difahami.


Bab ini memfokuskan pada Empat Peraturan Reka Bentuk Mudah, menekankan kesederhanaan dan kebolehujian untuk kod yang bersih dan cekap.


? Empat Peraturan Reka Bentuk Mudah

  • Lulus semua ujian
  • Menzahirkan niat
  • Tiada pendua
  • Meminimumkan bilangan kelas dan kaedah

Mari kita pecahkan setiap peraturan ini dan lihat cara ia digunakan menggunakan JavaScript.


1. Lulus Semua Ujian

Asas perisian yang bersih dan muncul ialah ia mestilah berfungsi.

Semua kod harus lulus ujiannya, memastikan gelagat yang diharapkan dikekalkan dan fungsi baharu tidak memperkenalkan pepijat.

Dalam JavaScript, ini selalunya dicapai melalui menulis ujian unit dengan perpustakaan seperti Jest atau Mocha.


function add(a, b) {
  return a + b;
}

// Test (using Jest)
test('adds 1 + 2 to equal 3', () => {
  expect(add(1, 2)).toBe(3);
});


Dengan memastikan perisian itu lulus semua ujian, anda menjamin bahawa sistem berfungsi seperti yang dimaksudkan.

Kod bersih bermula dengan ujian yang boleh dipercayai. Tanpa ini, peraturan lain tidak penting.


2. Menzahirkan Niat

Kod harus menyampaikan perkara yang dilakukannya. Fungsi, pembolehubah dan kelas yang dinamakan boleh menjadikan kod anda mudah dibaca dan difahami tanpa memerlukan ulasan.

Kod yang mendedahkan niatnya adalah jelas.

Penamaan Buruk:


function d(x) {
  return x * 2;
}


Penamaan Baik:


function doubleNumber(number) {
  return number * 2;
}


Dalam kes ini, doubleNumber() dengan jelas mendedahkan niat fungsi tersebut.

Sesiapa sahaja yang membaca kod ini boleh segera memahami tujuannya tanpa penjelasan tambahan.

Amalan ini bukan sahaja mengurangkan kekeliruan tetapi juga meningkatkan kebolehselenggaraan.


3. Tiada Pertindihan

Penduaan dalam kod ialah salah satu musuh terbesar perisian bersih. Logik berulang boleh membawa kepada pepijat dan peningkatan usaha penyelenggaraan.

Matlamatnya adalah untuk mengurangkan lebihan dengan mengabstraksikan gelagat biasa ke dalam fungsi atau modul yang boleh digunakan semula.

Penduaan Kod:


function calculateAreaOfSquare(side) {
  return side * side;
}

function calculateAreaOfRectangle(length, width) {
  return length * width;
}


Kedua-dua fungsi melakukan pengiraan yang serupa. Dengan pemfaktoran semula, kita boleh menghapuskan pertindihan.

Tiada Penduaan:


function calculateArea(shape) {
  if (shape.type === 'square') {
    return shape.side * shape.side;
  } else if (shape.type === 'rectangle') {
    return shape.length * shape.width;
  }
}


Dengan menyamaratakan fungsi, kami menghapuskan logik berulang dan menjadikan kod lebih boleh diselenggara.


4. Meminimumkan Bilangan Kelas dan Kaedah

Peraturan terakhir reka bentuk ringkas menggalakkan meminimumkan bilangan kelas dan kaedah tanpa mengorbankan kejelasan.

Ini bermakna mengelakkan kerumitan yang tidak perlu.

Setiap kelas atau fungsi harus mempunyai tanggungjawab yang jelas dan fokus, mematuhi Prinsip Tanggungjawab Tunggal (SRP).

Terlalu Banyak Kaedah:


class User {
  constructor(name) {
    this.name = name;
  }

  getName() {
    return this.name;
  }

  setName(name) {
    this.name = name;
  }

  printWelcomeMessage() {
    console.log(`Welcome, ${this.name}!`);
  }

  // Additional unrelated methods
  getUserProfile() {
    // ... some logic
  }

  logActivity() {
    // ... some logic
  }
}


Kelas ini mempunyai terlalu banyak tanggungjawab. Ia harus menumpukan hanya pada mengurus nama pengguna.

Difaktorkan semula:


class User {
  constructor(name) {
    this.name = name;
  }

  getName() {
    return this.name;
  }

  setName(name) {
    this.name = name;
  }
}

class Logger {
  static logActivity(user) {
    // ... some logic
    console.log(`${user.getName()} performed an activity.`);
  }
}


Dengan memisahkan kebimbangan, kod menjadi lebih ringkas dan lebih mudah untuk diselenggara.

Kini, setiap kelas mempunyai tanggungjawab tunggal, mematuhi prinsip minimalisme dan kesederhanaan.


Kesimpulan

Empat peraturan reka bentuk ringkas—melepasi semua ujian, mendedahkan niat, menghapuskan pertindihan dan meminimumkan bilangan kelas dan kaedah—membimbing penciptaan kod yang bersih, boleh diselenggara dan muncul.

Dengan mengikut prinsip ini, kerumitan dikawal dan kod anda menjadi lebih mudah disesuaikan untuk berubah.

Selamat Pengekodan!

Atas ialah kandungan terperinci Memahami Kod Bersih: Kemunculan ⚡️. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn