Rumah Keuangan Pribadi Hindari Bugs dalam Program C ++ Anda

Hindari Bugs dalam Program C ++ Anda

Daftar Isi:

Video: Coding Challenge #124: Flocking Simulation 2024

Video: Coding Challenge #124: Flocking Simulation 2024
Anonim

Jangan mulai debug kode Anda sampai Anda menghapus atau setidaknya memahami semua peringatan yang dihasilkan selama kompilasi. Mengaktifkan semua pesan peringatan jika Anda mengabaikannya apakah Anda tidak baik. Jika Anda tidak mengerti peringatannya, lihatlah. Apa yang tidak kamu ketahui akan menyakitimu. Mengadopsi gaya pengkodean yang jelas dan konsisten

Mengkodekan dengan gaya yang jelas dan konsisten tidak hanya meningkatkan keterbacaan program namun juga menghasilkan sedikit kesalahan pengkodean. Ingat, semakin sedikit kekuatan otak yang harus Anda keluarkan untuk mengartikan sintaks C + +, semakin banyak yang Anda tinggalkan untuk memikirkan logika program yang ada. Gaya pengkodean yang baik memungkinkan Anda melakukan hal berikut dengan mudah:

Membedakan nama kelas, nama objek, dan nama fungsi
  • Mengetahui sesuatu tentang objek berdasarkan namanya
  • Membedakan simbol preprocessor dari simbol C ++ (yaitu, objek yang didefinisikan harus menonjol)
  • Identifikasi blok kode C ++ pada tingkat yang sama (ini adalah hasil dari indentasi yang konsisten)
  • Selain itu, Anda perlu membuat header modul standar yang menyediakan informasi tentang fungsi atau kelas dalam modul, penulis (mungkin, itu Anda), tanggal, versi kompiler yang Anda gunakan, dan riwayat modifikasi.

Akhirnya, semua programmer yang terlibat dalam satu proyek harus menggunakan gaya yang sama. Mencoba untuk menguraikan sebuah program dengan tambal sulam dengan gaya pengkodean yang berbeda membingungkan.

Kirimkan kode Anda saat Anda menuliskannya

Anda dapat menghindari kesalahan jika Anda mengomentari kode Anda saat Anda menulisnya daripada menunggu sampai semuanya bekerja dan kemudian kembali dan menambahkan komentar. Tidak meluangkan waktu untuk menulis header tebal dan deskripsi fungsi sampai nanti bisa dimengerti, namun Anda selalu punya waktu untuk menambahkan komentar singkat saat menulis kode.

Komentar singkat harus mencerahkan. Jika tidak, mereka tidak berharga dan Anda harus melakukan sesuatu yang lain. Anda membutuhkan semua pencerahan yang bisa Anda dapatkan saat mencoba membuat program Anda bekerja. Bila Anda melihat sepotong kode yang Anda tulis beberapa hari yang lalu, komentar yang singkat, deskriptif, dan to the point dapat memberikan kontribusi dramatis untuk membantu Anda mengetahui dengan tepat apa yang sedang Anda coba lakukan.

Selain itu, kode lekukan dan konvensi penamaan yang konsisten membuat kode lebih mudah dipahami. Semuanya sangat bagus saat kode mudah dibaca setelah selesai dengan itu, tapi sama pentingnya kode itu mudah dibaca saat Anda menuliskannya. Saat itulah Anda membutuhkan bantuan.

Single-step setiap path setidaknya sekali

Sebagai programmer, penting bagi Anda untuk memahami apa yang sedang dilakukan program Anda. Tidak ada yang memberi Anda nuansa yang lebih baik untuk apa yang terjadi di bawah tenda daripada sekadar melangkah dengan debugger yang bagus. (Para debugger yang termasuk dalam IDE kompiler interaktif bekerja dengan baik.)

Di luar itu, ketika Anda menulis sebuah program, terkadang Anda memerlukan bahan mentah untuk mengetahui beberapa perilaku aneh. Tidak ada yang memberi Anda materi itu lebih baik daripada fungsi baru yang lajang saat mereka mulai beroperasi.

Akhirnya, ketika sebuah fungsi selesai dan siap ditambahkan ke program ini, setiap jalur logis perlu dijalani setidaknya satu kali. Bug lebih mudah ditemukan saat fungsi diperiksa dengan sendirinya daripada setelah dilempar ke dalam panci dengan sisa fungsinya - dan perhatian Anda telah beralih ke tantangan pemrograman baru.

Hindari operator overloading

selain menggunakan operator dua operator I / O

operator <(< dan >> () dan operator penugasan = () , Anda mungkin harus menunda operator overloading sampai Anda merasa nyaman dengan C ++. Meskipun satu set operator kelebihan beban yang bagus dapat meningkatkan utilitas dan keterbacaan dari kelas baru, operator overloading (selain yang baru mendaftar) hampir tidak pernah diperlukan dan dapat menambahkan secara signifikan masalah kesengsaraan debug Anda sebagai programmer baru. Anda bisa mendapatkan efek yang sama dengan mendefinisikan dan menggunakan fungsi anggota masyarakat yang tepat. Setelah Anda menjalani C-Plus-Plussing selama beberapa bulan, silakan kembali dan mulai membebani operator dengan konten hati Anda.

Penanganan tumpukan saldo

Umumnya, pemrogram harus mengalokasikan dan melepaskan tumpukan memori pada tingkat yang sama. "Jika fungsi anggota

MyClass:: create () mengalokasikan blok memori tumpukan dan mengembalikannya ke pemanggil, maka harus ada fungsi anggota MyClass:: release () bahwa mengembalikan memori ke heap. Secara khusus, MyClass:: create () seharusnya tidak memerlukan fungsi induk untuk melepaskan memori itu sendiri. Hal ini tentu saja tidak menghindari semua masalah memori - fungsi induk mungkin lupa untuk memanggil MyClass:: release () - tapi ini mengurangi kemungkinannya. Gunakan pengecualian untuk menangani kesalahan

Mekanisme pengecualian di C ++ dirancang untuk menangani kesalahan dengan mudah dan efisien. Nah setelah fitur ini sudah distandarisasi, sebaiknya gunakan saja. Kode yang dihasilkan lebih mudah ditulis, mudah dibaca, dan lebih mudah dipelihara. Selain itu, programmer lain telah datang untuk mengharapkannya - Anda tidak ingin mengecewakan mereka, bukan?

Hindari multiple inheritance

Multiple inheritance, seperti operator overloading, menambahkan tingkat kerumitan lain yang tidak perlu Anda hadapi saat Anda baru memulai. Untungnya, kebanyakan hubungan dunia nyata dapat digambarkan dengan pewarisan tunggal.

Jangan ragu untuk menggunakan kelas multiple-inheritance dari pustaka komersial, seperti kelas Microsoft MFC.Microsoft telah menghabiskan cukup banyak waktu untuk menyiapkan kelasnya, dan ia tahu apa yang dilakukannya.

Setelah merasa nyaman dengan tingkat pemahaman Anda tentang C ++, bereksperimenlah dengan menyiapkan beberapa hierarki pewarisan ganda. Dengan begitu, Anda akan siap jika membutuhkannya.

Hindari Bugs dalam Program C ++ Anda

Pilihan Editor

10 Outlook 2013 Jalan pintas layak diambil - dummies

10 Outlook 2013 Jalan pintas layak diambil - dummies

Meskipun komputer dan program perangkat lunak seperti Outlook 2013 seharusnya menyelamatkan Anda waktu, beberapa hari ini sepertinya tidak menjadi masalah. Tombol juggling, kunci, dan Pita sepertinya bisa memakan waktu seharian. Berikut adalah beberapa cara pintas yang bisa menghemat waktu dan ketegangan Anda.

Cara menambahkan kontak di Outlook 2013 - dummies

Cara menambahkan kontak di Outlook 2013 - dummies

Bila bukan apa yang Anda ketahui tapi siapa yang Anda kenal, Anda butuh alat yang bagus untuk mencatat siapa siapa. Outlook 2013 adalah alat yang hebat untuk mengelola nama dan alamat Anda, dan ini mudah digunakan sebagai Buku Hitam Kecil Anda.

Cara menambahkan foto ke kontak Outlook 2013 - dummies

Cara menambahkan foto ke kontak Outlook 2013 - dummies

Anda dapat menyertakan gambar dengan kontak informasi yang Anda kumpulkan di Outlook 2013, dan tidak hanya untuk hiasan. Kini setelah banyak ponsel dan perangkat seluler lainnya melakukan sinkronisasi dengan daftar Kontak Outlook, Anda dapat membuat gambar seseorang muncul di layar ponsel Anda setiap kali dia menelepon atau mengirim SMS. Foto-foto itu ...

Pilihan Editor

Cara Mengatasi Masalah Lingkaran di lingkaran PSAT / NMSQT - dummies

Cara Mengatasi Masalah Lingkaran di lingkaran PSAT / NMSQT - dummies

Ada di mana-mana, terutama di PSAT / NMSQT. Bukan kebetulan bahasa Inggris berisi begitu banyak rujukan ke lingkaran: lingkaran teman, air mengitari cerat, lingkaran penuh, dan sebagainya. Ketika Anda menekan lingkaran pertanyaan pada PSAT / NMSQT, ingat fakta-fakta ini: Jari-jari adalah garis lurus dari pusat lingkaran ...

Meningkatkan Motivasi Anda untuk Dilakukan dengan baik di MAT - dummies

Meningkatkan Motivasi Anda untuk Dilakukan dengan baik di MAT - dummies

Uji Analogi Miller (Miller Analogies Test - MAT) adalah tes standar yang biasanya digunakan untuk penerimaan sekolah pascasarjana, jadi Anda sudah termotivasi untuk melakukannya dengan baik. Sebagai belajar untuk MAT menjadi sulit, memakan waktu, membosankan, atau hanya membosankan, akan sulit untuk mempertahankan motivasi Anda untuk melanjutkan pencarian Anda. Jadi, bagaimana Anda bisa meningkatkan level Anda saat ini?

Pilihan Editor

Bagaimana memberi nama file HTML - dummies

Bagaimana memberi nama file HTML - dummies

Anda tidak dapat membuka kode Anda di browser sampai Anda menyimpan itu dengan perpanjangan nama file. html (atau .htm). Ingat bahwa judul halaman ditampilkan di bilah judul browser atau bilah tab. Judul benar-benar bagaimana halaman Anda "diidentifikasi" ke seluruh dunia. Nama file halaman, meskipun, lebih merupakan bagian dalam ...

Bagaimana Mencocokkan Email Pemasaran dengan Brand Anda - dummies

Bagaimana Mencocokkan Email Pemasaran dengan Brand Anda - dummies

Branding e-mail pemasaran Anda membantu audiens Anda untuk segera mengenali dan membedakan e-mail Anda dari e-mail asing yang mereka terima. Menjaga pencitraan e-mail Anda konsisten dari waktu ke waktu memungkinkan penerima Anda mengenal Anda dan e-mail karena mereka menerima beberapa e-mail dari Anda. Semua komunikasi bisnis Anda harus mengandung elemen pencitraan merek yang konsisten, dan ...