Tentukan Praktek Pengkodean yang Lebih Baik

8

Sebagai seorang programmer baru, selalu sulit untuk membuat aplikasi, karena saya masih dalam tahap pembelajaran.

Saya mengerti bahwa untuk mencapai pengaruh atau fungsi tertentu dalam suatu aplikasi, akan ada banyak cara untuk mencapai hasil yang sama.

Namun, jika saya hanya murni membuat fungsi untuk keadaan kerjanya, yang berarti selama itu berfungsi, seperti yang saya inginkan, maka itu akan baik-baik saja.

Bisakah sesama programmer dari tingkat yang lebih tinggi memberi tahu saya cara yang benar dalam melakukan sesuatu?

tapak.
sumber
Saya tahu Anda bertanya tentang pengkodean, tetapi itu adalah bagian yang sangat kecil dari apa yang membuat seorang insinyur perangkat lunak. Pelajari tentang analisis persyaratan, kasus penggunaan, arsitektur perangkat lunak, pola desain, dokumentasi desain terperinci, uji unit otomatis , uji sistem, uji integrasi, debugging, pelacakan bug, estimasi upaya, perencanaan proyek, kerja tim, bos runcing, lembur tanpa bayaran, Mountain Dew ...
Mawg mengatakan mengembalikan Monica

Jawaban:

4

Ada beberapa standar pengkodean "dikenal" yang dapat Anda lihat. Misalnya, untuk pengembangan C yang tertanam - MISRA C akan menjadi awal yang baik. Yang ini adalah standar pengkodean C ++ yang bagus. Mungkin ada bahasa lain yang tersedia untuk bahasa lain.

Pada akhirnya banyak akal sehat dan praktik umum, Anda mendapatkan itu dengan pengalaman. Tentu saja, tempat kerja memiliki standar pengkodean sendiri (atau setidaknya harus memiliki) yang harus Anda patuhi juga.

littleadv
sumber
Sekarang, sudah beberapa waktu sejak saya membacanya, tetapi saya ingat bahwa MISRA adalah lelucon total. #
DeadMG
1
@DeadMG - Lelucon? Tidak Memangnya kenapa? Ini ditargetkan untuk ceruk tertentu, dan bagi mereka yang tidak di ceruk itu mungkin terlihat seperti berlebihan. Tetapi untuk pengembangan yang kritis terhadap keselamatan, itu akan menjadi pedoman yang sangat baik. Saya telah bekerja dengan MISRA C ketika saya sedang mengembangkan standar pengkodean untuk tim saya, dan saya mengambil beberapa hal dari sana (tapi jelas bukan segalanya, kami tidak mengembangkan kode kritis keselamatan yang seharusnya tidak memiliki bug). Namun saya menyebutkannya di sini sebagai contoh standar pengkodean yang sangat komprehensif.
littleadv
Sudah lama sejak saya membacanya, jadi saya tidak ingat contoh spesifiknya. Namun, saya ingat pernah membacanya dan memegang keyakinan kuat bahwa itu ditulis oleh orang-orang yang tidak tahu apa yang mereka lakukan atau katakan.
DeadMG
@DeadMG - maka menurut saya Anda tidak tahu untuk apa itu dirancang.
littleadv
4

Mantra yang saya ulangi kepada junior devs saya adalah "Jadikan itu berhasil, kemudian buatlah cantik." Kode Anda harus mengikuti standar untuk penamaan dan apa yang tidak. Saya menggunakan Pedoman Kerangka Desain saat menulis C # dengan satu pengecualian: Saya selalu menempatkan _ di depan nama anggota pribadi. Membuat menemukan mereka jauh lebih mudah.

Lagi pula, ada pertanyaan kedua di sini. Dan itulah cara meningkatkan kode yang Anda tulis. Saya akan menunjuk ke Kode Bersih dan Triple P seperti yang harus dibaca untuk pengembang yang ingin belajar bagaimana kode lebih baik.

Michael Brown
sumber
4

Kita semua masih dalam tahap belajar. Itu akan bertahan selamanya.

Saya pikir cara terbaik untuk meningkatkan pengetahuan Anda adalah dengan belajar dari kode orang lain atau dengan melakukan pemrograman berpasangan dengan profil yang lebih tinggi daripada Anda.

Karena itu, Anda harus melakukan hal berikut:

  • Minta pasangan meninjau atau pemrograman secara aktif. Jangan tunggu sampai ini diusulkan kepada Anda. Jika Anda adalah pengembang solo, pertimbangkan platform peninjauan online .

  • Baca kode sebanyak yang Anda bisa. Begitulah cara saya belajar banyak fitur kerangka .NET. "Oh, saya tidak sadar saya bisa melakukannya hanya dalam satu baris kode!". Ini seperti penulis novel yang mendapatkan ide-ide mereka dari penulis lain. Tidak tahu ke mana harus mencari? Pilih proyek open source acak dan jelajahi di dalamnya, seperti yang dilakukan Stanley Kubrick untuk mendapatkan inspirasinya : pergi ke perpustakaan dan memilih buku APA PUN dalam kategori APA PUN.

Dalam salah satu biografi Kubrick ia digambarkan menggunakan metode sederhana untuk memperluas basis pengetahuannya. Dia akan mengunjungi perpustakaannya dan memilih buku-buku acak dari kategori informasi acak, bahkan tanpa melihat judulnya. Dia kemudian akan memaksa dirinya untuk membaca buku-buku itu. Dengan melakukan ini, Stanley memaksa pikirannya untuk berekspansi ke wilayah baru secara teratur.

Untuk belajar lebih cepat lagi, letakkan apa yang Anda lihat dalam praktik, dalam kode Anda sendiri atau dalam proyek sampel. Ini akan banyak membantu untuk mengingat.

Belajar mungkin adalah yang mendorong kita semua dalam pemrograman. Ini eksplorasi abadi.

Komunitas
sumber
2

Secara realistis, Anda tidak dapat menggunakan standar pengkodean orang lain. Ini karena mereka memiliki persyaratan yang mungkin tidak Anda miliki. Misalnya, lihat panduan gaya C ++ Google. Dengan cara itu bukan karena menghasilkan C ++ yang baik, tetapi justru sebaliknya - karena menghasilkan C ++ yang mengerikan itulah gaya-C sehingga mereka dapat berinteraksi dengan kode C warisan mereka.

Satu-satunya cara untuk secara realistis mengembangkan standar pengkodean yang baik adalah dengan mewarisi mereka dari seseorang yang telah bekerja pada basis kode untuk waktu yang lama, atau untuk belajar dari pengalaman sulit Anda sendiri yang mengerjakannya.

Anda harus mendesain dulu, lalu kode. Bergegas dalam pemrograman adalah kebiasaan buruk. Tapi jangan membuatnya cantik - itu hanya buang-buang waktu.

DeadMG
sumber
0

Beberapa cara peningkatan yang baik adalah:

  • membaca buku
  • bekerja di tim, di bawah otoritas pengembang yang berpengalaman

Anda tidak memberi kami banyak informasi untuk membantu Anda lebih tepat ...

KLE
sumber
0

Saya akan mendekati peningkatan dari beberapa arah:

Gunakan beberapa alat / plugin yang memberi Anda umpan balik instan selama pemrograman, sehingga Anda dapat membuat kode Anda lebih mudah dibaca, dapat digunakan, kuat, berkinerja, benar. Misalnya di Jawa, Anda bisa menggunakan checkstyle, PMD, Findbugs

Tulis tes: itu saja meningkatkan proses pengembangan Anda, dan memberi Anda jaring pengaman ketika Anda bereksperimen dan mencoba meningkatkan kode Anda, misalnya dengan refactoring.

Gunakan metrik untuk memeriksa hasil Anda dan mendapatkan petunjuk lebih lanjut. Misalnya di Jawa, kamu adalah jdepend, metrik, JavaNCSS, EclEmma.

Dapatkan ide dan informasi baru oleh

  • membaca buku
  • ulasan kode
  • pemrograman pasangan
  • berbicara dengan pengembang lain, misalnya pada pertemuan tas coklat / istirahat makan siang
  • dengarkan podcast
  • baca posting stackexchange.
DaveFar
sumber
0

Saya pribadi penggemar standar Integritas Tinggi C ++ .

Aturannya sangat objektif, tidak ada konvensi penamaan misalnya.

3 Kelas

3.1 Umum

Tinggi Integritas CPP Rule 3.1.1 Mengatur 'kelas' definisi oleh tingkat akses, dengan urutan sebagai berikut: public, protected, private. (QACPP 2108, 2109, 2191, 2192, 2195)

Order Pembenaran dengan mengurangi ruang lingkup audiens. Perancang program klien perlu mengetahui anggota publik; perancang subclass potensial perlu tahu tentang anggota yang dilindungi; dan hanya pelaksana kelas yang perlu tahu tentang anggota dan teman pribadi.

class C // correct access order
{
public: // ...
protected: // ...
private: // ...
};

Referensi Kekuatan Industri C ++ A.12, A.13;

Matthieu M.
sumber