


Sepuluh panduan untuk menjadi pengaturcara terbaik untuk membantu anda menulis kod pengaturcaraan seperti NASA!
Jan 06, 2024 pm 07:02 PMPengenalan | Petikan: Adakah anda tahu bagaimana pengaturcara teratas NASA menulis kod kritikal misi? Untuk memastikan kod itu lebih jelas, selamat dan lebih mudah difahami, Makmal Pendorong Jet NASA telah membangunkan 10 peraturan pengekodan. |
Tugas pembangun di NASA adalah salah satu yang paling mencabar dalam dunia pengaturcaraan. Fokus utama mereka ialah menulis kod dan membangunkan aplikasi yang selamat dan kritikal misi. Atas sebab ini, mematuhi peraturan pengekodan yang ketat menjadi penting. Peraturan ini merangkumi banyak aspek pembangunan perisian, termasuk gaya pengekodan, penggunaan ciri bahasa, dsb. Walaupun sukar untuk bersetuju dengan standard pengekodan yang sesuai, Makmal Pendorong Jet (JPL) NASA mengikut satu set peraturan pengekodan yang dipanggil Powers of Ten: Rules for Developing Secure Critical Code.
Peraturan ini ditujukan terutamanya untuk program yang ditulis dalam C, kerana JPL telah lama menggunakan C. Walau bagaimanapun, peraturan ini boleh digunakan dengan mudah pada bahasa pengaturcaraan lain juga. Peraturan pengekodan ini telah dibangunkan oleh Gerard J. Holzmann, ketua saintis JPL, terutamanya untuk memastikan keselamatan.
10 peraturan NASA untuk menulis kod kritikal misi:
- Hadkan semua kod kepada struktur aliran kawalan yang sangat mudah - tiada pernyataan goto, struktur setjmp atau longjmp, tiada panggilan rekursif tidak langsung atau langsung.
- Semua gelung mesti mempunyai had atas tetap. Ia mesti disahkan secara statik oleh alat pengesan bahawa gelung tidak dapat mencapai had atas lelaran pratetap. Sekiranya had atas ini tidak dapat dibuktikan secara statik, maka prinsip ini boleh dianggap dilanggar.
- Jangan gunakan peruntukan memori dinamik selepas permulaan.
- Jika anda merujuk kepada format standard satu pernyataan setiap baris dan satu pengisytiharan setiap baris, maka panjang fungsi tidak boleh lebih panjang daripada sehelai kertas. Biasanya ini bermakna tidak lebih daripada 60 baris kod setiap fungsi.
- Ketumpatan penegasan dalam kod purata serendah 2 penegasan setiap fungsi. Penegasan digunakan untuk mengesan situasi yang tidak mungkin berlaku dalam pelaksanaan sebenar. Pernyataan mesti tiada kesan sampingan dan harus ditakrifkan sebagai ujian boolean. Apabila penegasan gagal, tindakan pemulihan eksplisit harus dilakukan, seperti mengembalikan keadaan ralat kepada pemanggil fungsi yang gagal penegasan. Untuk alat statik, sebarang penegasan yang boleh dibuktikan oleh alat statik untuk tidak pernah gagal atau tidak pernah menyala melanggar peraturan ini (contohnya, adalah mustahil untuk memenuhi peraturan ini dengan menambah pernyataan assert(true) yang tidak berguna).
- Objek data mesti diisytiharkan dalam skop sekecil mungkin.
- Nilai pulangan bagi fungsi bukan batal mesti diperiksa pada setiap panggilan fungsi dan kesahihan parameternya mesti diperiksa dalam setiap fungsi.
- Penggunaan prapemproses terhad untuk memasukkan fail pengepala dan takrifan makro ringkas. Penyambungan simbol, senarai hujah variadic (elips) dan panggilan makro rekursif tidak dibenarkan. Semua makro mesti boleh dikembangkan menjadi unit sintaks yang lengkap. Penggunaan arahan kompilasi bersyarat selalunya tidak jelas, tetapi tidak selalu boleh dielakkan. Ini bermakna walaupun dalam pembangunan perisian yang besar perlu ada sebab yang baik untuk lebih daripada satu atau dua arahan penyusunan bersyarat, di luar amalan standard mengelak termasuk fail pengepala beberapa kali. Setiap kali anda melakukan ini dalam kod anda, ia mesti dibenderakan oleh penyemak berasaskan alat, dan untuk alasan yang baik.
- Penggunaan penunjuk harus dihadkan. Khususnya tidak boleh lebih daripada satu tahap penyahrujukan penunjuk. Operasi penyahrujukan penunjuk tidak boleh tersirat dalam definisi makro atau pengisytiharan jenis. Juga, penunjuk fungsi tidak dibenarkan.
- Dari hari pertama pembangunan, kod mesti disusun dengan pengkompil menghidupkan pilihan amaran tahap tertinggi. Di bawah tetapan ini, kod mesti disusun dengan amaran sifar. Kod mesti disemak dengan alat analisis statik kod sumber sekurang-kurangnya sekali atau lebih setiap hari dan lulus dengan amaran sifar.
Berkenaan peraturan ini, NASA ingin mengatakan ini:
Peraturan ini seperti tali pinggang keledar di dalam kereta Anda mungkin berasa sedikit tidak selesa pada mulanya, tetapi selepas beberapa ketika ia akan menjadi kebiasaan dan anda tidak boleh bayangkan tidak menggunakannya.
Mengenai pengarang:
Adarsh Verma ialah pengasas bersama Fossbytes Beliau adalah seorang usahawan yang disegani yang sentiasa memberi perhatian kepada sumber terbuka, penemuan teknologi dan kesempurnaan. Anda boleh menghubunginya melalui e-mel — [email protected]
Atas ialah kandungan terperinci Sepuluh panduan untuk menjadi pengaturcara terbaik untuk membantu anda menulis kod pengaturcaraan seperti NASA!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Android TV Box mendapat peningkatan Ubuntu 24.04 tidak rasmi

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek

Alamat muat turun aplikasi dompet BitPie Bitpie

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025)

Pemasangan penyusunan kod sumber Zabbix 3.4

Penjelasan terperinci: Perintah parameter pertimbangan pembolehubah skrip Shell

Pakej pemasangan OUYI OKX disertakan secara langsung
