Tulis kode program. Apa itu kode program, aplikasi, kesalahan. Lihat apa itu "Kode program" di kamus lain

21.05.2020 Kartu memori

Agar program dapat melakukan tindakan yang ditentukan untuknya, misalnya, menghitung, menampilkan hasil, merespons tindakan pengguna, misalnya, menekan tombol, memilih baris dari daftar, perlu kode program.

Kode program adalah kumpulan kata dan simbol dari bahasa pemrograman.

Alfabet adalah satu set lengkap huruf, angka, dan simbol yang digunakan dalam bahasa untuk menunjukkan data dan tindakan pada mereka.

Alfabet bahasa Visual Basic mencakup rangkaian karakter berikut::

Huruf besar (A - Z) dan huruf kecil (a - z) dari alfabet Latin;

Angka dari 0 hingga 9;

Tanda-tanda operasi aritmatika (dalam urutan prioritas menaik): +, -, *, /, |, ^;

Tanda operasi relasional: =,<, >.

Tanda baca dan pemisah: , . : ; ();

Alfabet bahasa juga termasuk disimpan kata-kata yang tidak dapat digunakan sebagai nama variabel atau prosedur. Contoh kata yang dicadangkan: Dim, Sub, Integer, dll. Secara default, penyorotan kata kunci di jendela Edit Kode Visual Basic menggunakan font biru.

Kata-kata dan simbol harus ditulis secara ketat sesuai dengan aturan bahasa, tanpa kesalahan ejaan dan tanda baca. Ini adalah ejaan yang tepat yang akan memungkinkan komputer untuk memahami dan menjalankan program dengan jelas.

Jendela kode

Kode program ditulis di jendela kode. Setiap formulir memiliki jendela seperti itu.

Buka jendela kode:

1 cara - di jendela Penjelajah Proyek klik kanan pada formulir yang diinginkan dan pilih dari menu yang muncul Tampilkan kode.

Catatan: jendela kode mungkin atau mungkin tidak terkait dengan formulir. Jendela terpisah kode disebut Modul. Modul di jendela Project Explorer dikelompokkan ke dalam grup Modul. Untuk membuka jendela dengan kode modul, Anda perlu di jendela Penjelajah Proyek klik dua kali pada nama modul.

2 jalan - klik dua kali pada kontrol pada formulir atau pada formulir itu sendiri di jendela formulir.

Catatan: ini tidak hanya membuka jendela kode, tetapi juga membuat prosedur acara (lihat di bawah).

Struktur jendela kode:

Beras. 7. Jendela kode program.

    Daftar Kontrol

    Kontrol Daftar Acara

    Prosedur (kode)

Prosedur

Karena lampu menyala saat lemari es dibuka, dan air mengalir keluar saat keran dibuka, maka dapat dikatakan bahwa ketika terjadi peristiwa buka lemari es, satu prosedur dilakukan, dan peristiwa buka keran memanggil prosedur lain. Demikian pula, kode program terdiri dari prosedur terpisah, yang masing-masing melakukan tindakan spesifiknya sendiri, misalnya, satu prosedur menyalakan lampu, yang lain menyalakan (memompa) air.

Dasar visual- bahasa pemrograman prosedural. Ini berarti bahwa blok kode dapat dibuat di dalamnya, yang kemudian dapat disebut dengan nama. Setelah blok kode diberi nama, bisa jadi ditelepon dan selesai. Ini seperti program dalam program. Program kecil yang "hidup" dalam program besar disebut fungsi, jika mereka mengembalikan beberapa nilai, dan rutinitas, jika mereka tidak mengembalikan nilai.

Subrutin dan fungsi membuat proses pemrograman lebih mudah dan lebih cepat, dan kode yang dihasilkan lebih andal. Membuat subrutin dan fungsi Anda sendiri adalah langkah pertama menuju pengembangan dienkapsulasi dan kode yang dapat digunakan kembali. Enkapsulasi harus dipahami sebagai menyembunyikan implementasi properti dan metode suatu objek di belakang antarmuka eksternalnya.

Prosedur (subrutin) adalah bagian terpisah dari kode program, dengan bantuan yang biasanya menyelesaikan tugas kecil, ini adalah blok program kecil yang dibangun secara logis di mana seluruh program dibagi.

Jika suatu prosedur hanya dapat dieksekusi dalam blok program tertentu (misalnya, hanya dalam bentuk ini), dan prosedur tersebut tidak dapat dipanggil dari blok program lain, maka prosedur tersebut bersifat lokal. Prosedur lokal ditentukan menggunakan kata kunci Sub Pribadi.

Jika prosedur dapat dipanggil dari blok program lain (misalnya, dari bentuk lain), maka prosedur tersebut bersifat global. Prosedur global ditentukan menggunakan kata kunci Sub Publik.

Secara default, jika tidak ada kata kunci sebelum kata kunci Sub, maka ini adalah prosedur global.

Prosedur adalah:

    Prosedur acara. Dieksekusi ketika suatu peristiwa terjadi dalam beberapa kontrol (atau bentuk). Prosedur acara selalu dikaitkan dengan beberapa objek. Untuk memanggil prosedur event suatu objek, cukup klik dua kali pada objek ini.

    Prosedur sewenang-wenang. Itu tidak terkait dengan peristiwa dan dapat dipanggil dari prosedur lain dan dieksekusi kapan saja. Jika blok program yang sama terjadi pada program dalam semua bentuk, maka hanya dapat ditulis satu kali dan di satu tempat, dalam bentuk global. program umum. Peluncuran program umum tidak terkait dengan objek dan dengan acara, tetapi terjadi ketika diakses dari blok program lain. Memanggil prosedur umum dari bentuk yang sama: NamaProsedur (Daftar Parameter). Memanggil prosedur umum dari bentuk lain: SEBUAH OBJEK. ProcedureName (Daftar Parameter). Prosedur umum dapat berupa Privat lokal dan Publik global

Struktur Prosedur

Prosedur ini terdiri dari elemen-elemen berikut:

    Judul prosedur - menandai awal prosedur, jenisnya, tujuan (acara).

Contoh header prosedur yang dijalankan saat mouse mengklik tombol bernama Command1.

    Kata Pribadi berarti - tertutup, yaitu prosedur hanya milik formulir atau modul ini dan tidak dapat digunakan oleh wadah lain (formulir, modul). Jika kata ini dihilangkan, maka prosedur akan terbuka untuk wadah lain.

    Sub- prosedur.

Catatan: Kecuali prosedur ada fungsi – fungsi. Fungsi tidak terkait dengan peristiwa dan juga dapat mengembalikan hasil pekerjaannya (perhitungan).

    Elemen kontrol(atau nama formulir): menentukan nama persis dari elemen yang disimpan di properti Nama.

    Peristiwa- nama acara. Berikut beberapa acaranya:

    Klik - klik mouse;

    DblKlik- klik dua kali mouse

    Tekan Tombol - tekan tombol;

    UnLoad - membongkar formulir (ketika formulir ditutup, program berakhir);

    Aktifkan - aktivasi formulir (saat mengklik formulir, saat judulnya disorot);

    Nonaktifkan - nonaktifkan formulir (saat mengklik formulir lain).

    Inisialisasi - saat membuat objek bertipe form.

    Ubah ukuran - saat mengubah ukuran formulir

    Hentikan - saat formulir dihapus

    Argumen adalah data awal yang diteruskan ke prosedur untuk diproses.

Prosedur kustom memiliki header berikut:

Nama prosedur seharusnya unik, harus dimulai dengan huruf, tidak boleh mengandung spasi atau karakter selain garis bawah. Dengan nama, prosedur dipanggil ketika perlu dieksekusi.

    Akhir prosedur - mengakhiri kode program prosedur: End Sub

Catatan: untuk fungsi: Fungsi Akhir

    badan prosedur adalah garis antara judul dan akhir. Jumlah mereka tidak terbatas. Baris berisi instruksi yang harus dijalankan ketika prosedur dipanggil (peristiwa terjadi).

Subrutin (Sub) - adalah prosedur yang mengeksekusi kode program di dalam bloknya dan tidak mengembalikan nilai. Sintaks untuk subrutin sederhana adalah:

( Pribadi | Publik ) Sub sub utama ()

..baris kode akhir Sub

ruang lingkup subprogram;

Sub - jenis prosedur (yaitu, subrutin);

subUtama nama yang diberikan untuk subrutin;

End Sub - akhir dari blok kode subrutin.

Buat prosedur

Untuk membuat prosedur, lakukan hal berikut:

    1 cara - klik dua kali pada kontrol atau formulir yang diinginkan. Jendela kode akan terbuka, menunjukkan judul dan akhir prosedur. Jika acara lain diperlukan, itu dipilih menggunakan daftar di sudut kanan atas jendela kode.

    2 jalan - buka jendela kode, jalankan Alat → Tambah prosedur → tentukan nama dan parameter prosedur → Ok.

    3 cara - buka jendela kode dan masukkan baris yang diperlukan dari keyboard.

Hasilnya harus:

Sub Perintah Pribadi1_Click()

Prosedur pemanggilan untuk eksekusi

    Untuk prosedur acara untuk mengeksekusi, acara tersebut harus terjadi.

    Untuk menjalankan prosedur arbitrer dalam tubuh prosedur lain, tentukan nama prosedur ini.

Sub Perintah Pribadi1_Click()

Di sini, ketika tombol Command1 diklik, event Click dimunculkan dan prosedur Kvadrat dipanggil dan dieksekusi.

Kode prosedur dijalankan baris demi baris dan dari atas ke bawah.

Fungsi (fungsi) - itu adalah prosedur yang mengeksekusi baris kodenya dan mengembalikan beberapa nilai. Sintaks untuk fungsi sederhana adalah:

fungsi FunctionName() Sebagai Tipe Data

... gariskode

FunctionName = ReturnValuefungsi akhir

Lingkup fungsi;

Fungsi adalah kata kunci Visual Basic yang menunjukkan bahwa ini adalah fungsi;

Nama Fungsi () - nama yang diberikan untuk fungsi tersebut;

AS adalah kata kunci Visual Basic sebelum penetapan tipe data;

tipe data tipe data dari nilai kembalian;

Nilai Kembali nilai yang harus diberikan ke nama fungsi (ini adalah poin yang sangat penting!);

Fungsi Akhir - akhir dari blok kode yang diberikan.

15 aturan untuk menulis kode kualitas

Ada banyak cara untuk menulis kode yang buruk. Untungnya, untuk naik ke level kode kualitas, cukup mengikuti 15 aturan. Mengamati mereka tidak akan menjadikan Anda seorang master, tetapi akan memungkinkan Anda untuk meniru dia dengan meyakinkan.

Aturan 1. Ikuti standar pengkodean.

Setiap bahasa pemrograman memiliki standar pemformatan kode sendiri, yang memberi tahu cara membuat indentasi, tempat meletakkan spasi dan tanda kurung, cara memberi nama objek, cara memberi komentar kode, dan sebagainya.

Misalnya, dalam potongan kode ini, menurut standar, ada 12 kesalahan:

Untuk(i=0 ;i

Pelajari standarnya dengan cermat, pelajari dasar-dasarnya dengan hati, ikuti aturan seperti perintah, dan program Anda akan lebih baik daripada kebanyakan yang ditulis oleh lulusan.

Banyak organisasi menyesuaikan standar agar sesuai dengan kebutuhan spesifik mereka. Misalnya, Google telah mengembangkan standar untuk lebih dari 12 bahasa pemrograman. Mereka dipikirkan dengan baik, jadi periksalah jika Anda memerlukan bantuan dengan pemrograman Google. Standar bahkan menyertakan pengaturan editor untuk membantu Anda mempertahankan gaya, dan alat khusus, memverifikasi bahwa kode Anda sesuai dengan gaya ini. Gunakan mereka.

Aturan 2. Beri nama deskriptif.

Terbatas pada teletipe yang lambat dan canggung, pemrogram kuno menggunakan kontrak untuk nama variabel dan prosedur untuk menghemat waktu, penekanan tombol, tinta, dan kertas. Budaya ini hadir di beberapa komunitas demi menjaga kompatibilitas ke belakang. Ambil, misalnya, fungsi C pemecah bahasa wcscspn (rentang pelengkap string karakter lebar). Tetapi pendekatan ini tidak berlaku dalam kode modern.

Gunakan nama yang panjang dan deskriptif seperti pelengkapSpanLength untuk membantu Anda dan orang lain memahami kode Anda di masa mendatang. Pengecualian adalah beberapa variabel penting yang digunakan dalam tubuh metode, seperti iterator loop, parameter, nilai sementara, atau hasil eksekusi.

Jauh lebih penting bagi Anda untuk berpikir panjang dan keras sebelum menyebutkan sesuatu. Apakah namanya akurat? Apakah yang Anda maksud: harga tertinggi atau harga terbaik Apakah nama tersebut cukup spesifik untuk menghindari penggunaannya dalam konteks lain untuk objek yang memiliki kesamaan makna? Bukankah lebih baik memanggil metode getBestPrice daripada getBest? Apakah itu lebih cocok daripada nama serupa lainnya? Jika Anda memiliki metode ReadEventLog, Anda tidak boleh memanggil NetErrorLogRead lainnya. Jika Anda memanggil suatu fungsi, apakah namanya menggambarkan nilai kembalian?

Kesimpulannya, beberapa aturan sederhana penamaan. Nama kelas dan tipe harus berupa kata benda. Nama metode harus mengandung kata kerja. Jika suatu metode menentukan apakah beberapa informasi tentang suatu objek benar atau salah, namanya harus dimulai dengan "adalah". Metode yang mengembalikan properti objek harus dimulai dengan "get", dan metode yang menetapkan nilai properti harus dimulai dengan "set".

Aturan 3. Komentar dan dokumen.

Mulailah setiap metode dan prosedur dengan menjelaskan dalam komentar apa metode ini atau prosedur tidak, parameter, nilai kembali dan kemungkinan kesalahan dan pengecualian. Jelaskan dalam komentar peran setiap file dan kelas, isi setiap bidang kelas, dan langkah-langkah utama kode kompleks. Tulis komentar saat Anda mengembangkan kode. Jika Anda berpikir bahwa Anda akan menulisnya nanti, Anda menipu diri sendiri.

Selain itu, pastikan aplikasi atau pustaka Anda memiliki manual yang menjelaskan fungsi kode Anda, mendefinisikan dependensinya, dan memberikan instruksi untuk membangun, menguji, menginstal, dan menggunakannya. Dokumen harus pendek dan praktis; hanya file README seringkali sudah cukup.

Aturan 4. Jangan ulangi diri Anda sendiri.

Jangan pernah menyalin dan menempelkan kode. Sebagai gantinya, ekstrak bagian umum ke dalam metode atau kelas (atau makro, jika diperlukan) dan gunakan dengan parameter yang sesuai. Hindari menggunakan data dan potongan kode yang serupa. Juga gunakan teknik berikut:

  • Buat referensi API dari komentar menggunakan Javadoc dan Doxygen.
  • Pembuatan pengujian unit secara otomatis berdasarkan anotasi atau konvensi penamaan.
  • Hasilkan PDF dan HTML dari sumber markup yang sama.
  • Mendapatkan struktur kelas dari database (atau sebaliknya).

Aturan 5. Periksa kesalahan dan bereaksi terhadapnya.

Metode dapat mengembalikan indikasi kesalahan atau membuang pengecualian. Proses mereka. Jangan mengandalkan disk untuk tidak pernah mengisi, file konfigurasi Anda untuk selalu ada, aplikasi Anda untuk berjalan dengan izin penuh, permintaan alokasi memori untuk selalu berhasil, atau koneksi untuk tidak pernah putus. Ya, penanganan yang baik bug sulit untuk ditulis dan membuat kode lebih panjang dan lebih sulit untuk dibaca. Tetapi mengabaikan kesalahan hanya menyapu masalah di bawah karpet, di mana pengguna yang tidak curiga suatu hari akan menemukannya.

Aturan 6. Bagilah kode menjadi bagian-bagian pendek yang terpisah.

Setiap metode, fungsi, atau blok kode harus sesuai dengan jendela layar biasa (25-50 baris). Jika terlalu panjang, potong menjadi potongan-potongan yang lebih pendek. Bahkan di dalam suatu metode, bagilah kode yang panjang menjadi blok-blok, yang intinya dapat Anda jelaskan dalam komentar di awal setiap blok.

Selain itu, setiap kelas, modul, file atau proses harus melakukan jenis tugas tertentu. Jika sepotong kode melakukan tugas yang sama sekali berbeda, maka bagilah sesuai dengan itu.

Aturan 7. Gunakan API kerangka kerja dan pustaka pihak ketiga.

Pelajari fitur apa saja yang tersedia melalui API kerangka kerja Anda. dan juga apa yang dapat dilakukan oleh perpustakaan pihak ketiga tingkat lanjut. Jika perpustakaan didukung oleh manajer paket sistem Anda, maka perpustakaan tersebut kemungkinan besar akan pilihan bagus. Gunakan kode yang mencegah Anda menemukan kembali roda (dengan bentuk persegi yang tidak berguna).

Aturan 8. Jangan berlebihan dalam mendesain.

Rancang hanya apa yang relevan sekarang. Kode Anda dapat dibuat cukup umum untuk mendukung pengembangan lebih lanjut, tetapi hanya jika itu tidak membuatnya terlalu rumit. Jangan membuat kelas berparameter, pabrik, hierarki yang dalam, dan antarmuka tersembunyi untuk menyelesaikan masalah yang bahkan tidak ada - Anda tidak dapat menebak apa yang akan terjadi besok. Di sisi lain, ketika struktur kode tidak sesuai dengan tugas, jangan ragu untuk memperbaikinya.

Aturan 9: Konsisten.

Lakukan hal yang sama dengan cara yang sama. Jika Anda mengembangkan metode yang fungsinya mirip dengan yang sudah ada, gunakan nama yang mirip, urutan parameter yang serupa, dan struktur tubuh yang serupa. Hal yang sama berlaku untuk kelas. Buat bidang dan metode yang serupa, beri mereka antarmuka yang serupa, dan petakan nama baru ke yang sudah ada di kelas yang serupa.

Kode Anda harus mematuhi konvensi kerangka kerja Anda. Misalnya, praktik yang baik adalah membuat rentang semi-terbuka: tertutup (inklusif) di sebelah kiri (di awal rentang) dan terbuka (eksklusif) di sebelah kanan (di akhir). Jika tidak ada kesepakatan untuk kasus tertentu, maka buatlah pilihan dan patuhi itu dengan fanatik.

Aturan 10 Hindari masalah keamanan.

Kode modern jarang bekerja secara terpisah. Dia memiliki risiko yang tidak dapat dihindari untuk menjadi target serangan. Mereka tidak harus datang dari internet; serangan dapat terjadi melalui input aplikasi Anda. Bergantung pada bahasa pemrograman dan domain Anda, Anda mungkin perlu khawatir tentang buffer overflows, skrip lintas situs, injeksi SQL, dan masalah serupa lainnya. Pelajari masalah ini dan hindari dalam kode Anda. Ini tidak sulit.

Aturan 11 Gunakan struktur data dan algoritma yang efisien.

Kode sederhana seringkali lebih mudah dipelihara daripada kode yang telah dimodifikasi untuk efisiensi. Untungnya, Anda dapat menyeimbangkan pemeliharaan dan efisiensi menggunakan struktur data dan algoritme yang disediakan kerangka kerja Anda. Gunakan peta, set, vektor, dan algoritme yang bekerja dengannya. Ini akan membuat kode Anda lebih bersih, lebih cepat, lebih terukur, dan lebih hemat memori. Misalnya, jika Anda menyimpan seribu nilai dalam himpunan yang diurutkan, maka operasi perpotongan akan menemukan elemen yang sama dengan himpunan lain dalam jumlah operasi yang sama, bukan dalam sejuta perbandingan.

Aturan 12: Gunakan unit test.

Kompleksitas perangkat lunak modern membuatnya lebih mahal untuk dipasang dan lebih sulit untuk diuji. Pendekatan yang produktif akan menyertai setiap potongan kode dengan tes yang memeriksa kebenaran pekerjaannya. Pendekatan ini menyederhanakan debugging karena memungkinkan kesalahan dideteksi lebih awal. Pengujian unit sangat penting ketika Anda memprogram dalam bahasa yang diketik secara dinamis seperti Python dan JavaScript karena mereka hanya menangkap kesalahan apa pun saat runtime, sementara bahasa yang diketik secara statis seperti Java, C# dan C++ dapat menangkap beberapa di antaranya saat runtime.waktu kompilasi. Pengujian unit juga memungkinkan Anda untuk memfaktorkan ulang kode dengan percaya diri. Anda dapat menggunakan XUnit untuk mempermudah penulisan pengujian dan mengotomatiskan eksekusinya.

Aturan 13: Jaga agar kode tetap portabel.

Kecuali Anda memiliki alasan khusus, jangan gunakan fungsionalitas yang hanya tersedia di platform tertentu. Jangan mengandalkan tipe data tertentu (seperti bilangan bulat, pointer, dan stempel waktu) untuk memiliki panjang tertentu (misalnya 32 bit), karena parameter ini berbeda dengan platform yang berbeda. Pisahkan pesan program dari kode, dan pengaturan khusus budaya hardcode (misalnya, pemisah desimal dan bilangan bulat, atau format tanggal). Konvensi diperlukan agar kode dapat berjalan di negara lain, jadi buat pelokalan semudah mungkin.

Aturan 14: Jadikan kode Anda dapat dibangun.

Perintah sederhana harus mengkompilasi kode Anda ke dalam bentuk yang siap untuk didistribusikan. Perintah harus memungkinkan Anda dengan cepat membangun dan menjalankan tes yang diperlukan. Untuk mencapai ini, gunakan alat pembuatan otomatis seperti Make , Apache Maven , atau Ant . Idealnya, Anda harus menyiapkan sistem integrasi yang akan memeriksa, membangun, dan menguji kode Anda setiap kali berubah.

Aturan 15: Letakkan semuanya di bawah kendali versi.

Semua elemen Anda - kode, dokumentasi, sumber alat, skrip pembuatan, data uji - harus dalam kendali sumber. Git dan GitHub membuat tugas ini murah dan tidak merepotkan. Tetapi banyak alat dan layanan hebat lainnya juga tersedia untuk Anda. Anda harus dapat membangun dan menguji program Anda pada sistem yang dikonfigurasi hanya dengan mengunduhnya dari repositori.

Kesimpulan.

Dengan menjadikan 15 aturan ini sebagai bagian dari praktik harian Anda, pada akhirnya Anda akan membuat kode yang lebih mudah dibaca, diuji dengan baik, lebih mungkin dijalankan dengan benar, dan lebih mudah diubah ketika saatnya tiba. Anda juga akan menghemat banyak sakit kepala bagi diri sendiri dan pengguna Anda.

Seseorang untuk bersenang-senang, seseorang untuk membuktikan keberadaan atau menyangkal hipotesis, seseorang untuk menghangatkan otak (bepergian di permukaan botol Klein atau di ruang empat dimensi), tetapi ratusan orang telah menciptakan bahasa pemrograman "esoteris". Saya telah membolak-balik sekitar 150 bahasa ini dan tidak akan pernah sama lagi.

"Argh!", "Oof!", "2-sakit", "Nhohnhehr", "Noit o" mnain gelb", "DZZZZ", "Ypsilax", "YABALL", fuckfuck - ini adalah mantra, puisi hanyalah nama ... di bawah katom - contoh kode dalam bahasa pemrograman yang paling keterlaluan.

Lubang kelinci itu dalam.

INTERCAL (Turing selesai)



Don Woods dan Jim Lyon

Salah satu bahasa pemrograman esoteris tertua. Menurut penciptanya, namanya berarti "Bahasa Penyusun Tanpa Akronim yang Dapat Diucapkan". Bahasa ini diciptakan pada tahun 1972 oleh siswa Don Woods dan James M. Lyon sebagai parodi dari bahasa pemrograman dan senam mental yang ada.

Halo Dunia

Setiap perintah program dapat diberi probabilitas yang akan dieksekusi ketika program dimulai. Selain itu, ada perintah yang memblokir eksekusi perintah berikutnya dari jenis tertentu atau perubahan variabel.

Halo Dunia!

// "Halo Dunia" oleh Stephen McGreal.
// Perhatikan bahwa pandangan yang diekspresikan dalam kode sumber ini tidak selalu sama dengan pandangan dari

Gr34t l33tN3$$?
M3j…
IT 41n "t s0 7rIckY.

L33t sp33k adalah U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh bE5t th1ng 1n the 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t hingga 5h00t ppl r 70tAl1_y w1cK1d!!!
SAYA TELAH FR4GM4stEr DAN I'LL t0t41_1Ly wipe the phr34k1ng fL00r ***j3d1 5tYlE*** dengan h1dE y0uR!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs dengan m8tes saya r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff seperti n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k hanya l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y"r3 ju$t n0rMal lEE7 5pEEk but th3y"re 5ecRetLy c0dE!!!
n080DY under5tAnd$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E ! hE i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD!!!" Anda tidak bisa "T gu3s5.
tH3r3's n3v3r setiap titik l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s apa th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

ArnoldC

bahasa pemrograman terminator.

Halo Dunia!

Jika Anda bertanya kepada pengembang firmware apakah mereka ingin memiliki akses ke kode sumber sistem operasi waktu nyata yang digunakannya, jawabannya hampir pasti - tentu saja. Hal yang sama berlaku untuk perangkat lunak yang dibeli. Apakah jawaban seperti itu masuk akal dalam semua kasus, dan mengapa kode sumber terkadang diperlukan dan terkadang kurang bermanfaat dari yang diharapkan?

Ada sejumlah kriteria utama yang digunakan para insinyur saat memilih sistem operasi waktu-nyata (RTOS). Banyak dari mereka - biaya, fungsionalitas, lisensi, dukungan - tidak diragukan lagi sangat penting (terutama biaya - ini adalah kenyataan kami). Namun, kriteria lain - ketersediaan kode sumber - mungkin tidak begitu penting, tetapi selalu dinilai sebagai faktor kuat.

Ketersediaan kode sumber tidak berarti diberikan secara otomatis dan gratis. Pendekatan ini hanya berlaku untuk produk sumber terbuka, dan dalam kasus lain, produsen dapat mengenakan biaya untuk kode sumber atau menyediakannya berdasarkan permintaan.

Perkembangan zat besi. Ada juga kode sumber di sini, yang terutama berlaku untuk pengembangan menggunakan VHDL dan Verlog. Bagaimana keadaan di sini? Secara historis, ketika memilih sirkuit terpadu dan merancang aplikasinya, seorang insinyur mengandalkan spesifikasi yang menentukan fungsionalitas, pinout, kebutuhan daya, dan sebagainya. Namun tidak ada yang berharap untuk melihat skema lengkapnya perangkat internal IS, meskipun mereka sering dapat melihat diagram blok (terutama sebagai bahan ilustrasi yang membuatnya lebih mudah untuk memahami prinsip-prinsip operasi), dan kadang-kadang bahkan diagram sirkuit(untuk IC analog dari jenis op-amp), meskipun tanpa peringkat.
Seorang insinyur yang mendesain firmware ASIC atau FPGA hari ini kemungkinan besar akan menggunakan beberapa blok IP yang tersedia - blok pra-paket yang menyediakan fungsionalitas tertentu. Meskipun demikian, pilihan akan didasarkan pada spesifikasi, dan sama sekali tidak jelas bahwa HDL asli untuk IP akan disertakan dalam paket. Pendekatan kotak hitam ini terkenal di dunia perangkat keras.

Keamanan. Teknologi apa pun yang termasuk dalam suatu produk harus dipilih dengan mempertimbangkan kemungkinan masa depan. dukungan teknis. Misalnya, pemilihan IC harus menghindari penggunaan produk unik dari satu produsen, yang dapat mengurangi masalah gangguan pasokan.
Saat menggunakan IP, apakah itu kotak perangkat keras atau perangkat lunak yang dikirimkan, kegagalan pengiriman itu sendiri tidak mungkin terjadi (kecuali dalam kasus lisensi satu kali), tetapi dukungan berkelanjutan harus ada. Oleh karena itu, pertanyaan apakah pemasok Anda akan menjalankan bisnis sepanjang masa pakai produk Anda adalah pertanyaan yang lebih baik sebelum memilih penerapan tertentu.

Jika kode sumber untuk IP tersedia, maka masalah apa pun (hampir semua) dapat diselesaikan dengan perangkat lunak, bahkan jika vendor tidak lagi dapat menawarkan dukungan. Untuk alasan ini, banyak pembeli RTOS dll. ingin memiliki kode sumber di rak, bahkan jika mereka tidak pernah melihatnya, untuk berjaga-jaga.

Kustomisasi perangkat lunak Perbedaan utama antara sistem tertanam dan desktop adalah variabilitas yang pertama. Sebagian besar PC serupa dengan banyak lainnya dan pilihannya hanya antara lingkungan eksekusi: Windows, Mac, atau Linux. Sistem tertanam, pada gilirannya, sangat tidak stabil - prosesor yang berbeda, konfigurasi memori, dan periferal. Hasil dari, perangkat lunak IP harus fleksibel agar dapat di-deploy ke berbagai sistem. Sementara banyak produk, seperti RTOS, dikirimkan dalam bentuk biner - biasanya perpustakaan yang disetel ke arsitektur tertentu - persyaratan untuk mengirimkan kode sumber dapat mendorong vendor untuk menghilangkan kebutuhan untuk memelihara dan memelihara banyak variasi, karena menyediakan IP di sumber bentuk memecahkan banyak masalah ini. Pengguna dapat membuat kode untuk prosesor tertentu, menyesuaikannya dengan kartu memori perangkat, dan menambahkan ekstensi perangkat yang diperlukan. Dalam beberapa kasus, blok IP dapat dikonfigurasi menggunakan kompilasi bersyarat - biasanya, file header diedit untuk menentukan konfigurasi.

Sertifikasi. Untuk beberapa jenis aplikasi, seperti militer/penerbangan dan medis, firmware harus disertifikasi untuk keamanan dan kepatuhan terhadap berbagai standar. Proses ini rumit dan mahal dan biasanya memerlukan pemeriksaan setiap baris kode. Oleh karena itu, biasanya tidak mungkin untuk membeli blok perangkat lunak "pra-sertifikasi", karena seluruh aplikasi harus ditinjau. Dengan demikian, pengembang aplikasi mission-critical cenderung mencari IP yang tersedia bersama dengan kode sumber sehingga pemeriksaan lengkap dapat dilakukan.

Apa itu Kode Sumber?
Pertanyaannya mungkin tampak aneh, tetapi tanpa jawaban untuk itu, diskusi tentang setiap aspek kehadiran (atau ketidakhadirannya) berubah menjadi latihan yang agak aneh. Jawabannya mungkin tampak jelas: kode sumber suatu program adalah sekumpulan file yang berisi bahasa tingkat tinggi atau instruksi bahasa rakitan yang dapat dikompilasi dan dirakit menjadi instruksi biner yang berfungsi. Segera pertanyaannya adalah - apakah program yang diperlukan untuk proses konversi dan lingkungan eksekusinya merupakan bagian dari kode sumber (dalam bentuk biner)? Namun definisi ini jawab setidaknya 3 bentuk di mana "kode sumber" dapat diberikan (misalnya, mari kita bicara tentang bahasa C) dalam urutan kualitas yang memburuk:
1) Benar-benar kode sumber, dengan tata letak yang baik, konvensi penamaan variabel yang jelas, dan dikomentari dengan baik (asalkan pengembang IP memilikinya, yang sepenuhnya opsional).
2) Baris kode yang akan berhasil dikompilasi TAPI tanpa komentar atau nama pengenal yang sangat berarti.
3) Baris kode setelah kebingungan, yang membuat kode tidak dapat dibaca oleh seseorang, tetapi pada saat yang sama dapat diterima oleh kompiler. Ini dilakukan dengan mengganti nama pengenal dengan yang tidak berarti dan menghapus semua komentar dan spasi yang tidak perlu secara sintaksis. Ada proses sebaliknya, tetapi hasilnya hampir tidak dapat disebut dapat diterima.
Semua formulir ini digunakan oleh penyedia perangkat lunak untuk tujuan berikut:
1) adalah apa yang diharapkan sebagian besar pembeli dan apa yang sebenarnya disediakan oleh banyak produsen. Namun, saat membuat keputusan pembelian, jika Anda memerlukan kode sumber, penting untuk memastikan bahwa ini adalah opsi, jika ragu, minta saja sampelnya.
2) biasanya digunakan ketika penjual ingin memberikan minimum yang dipersyaratkan, yang mungkin (hanya) cukup baik untuk sertifikasi.
3) digunakan untuk melindungi konten IIP dari pengintaian, yang berarti bahwa perangkat lunak mendapat manfaat dari kemampuan konfigurasi, tetapi tidak lebih.

Cacat kode sumber.
Kelemahan terbesar untuk memiliki kode sumber yang tersedia adalah godaan yang kuat. Setiap pengembang ingin membuat perangkat lunak mereka sebaik mungkin (yah, ada sudut pandang seperti itu). Jadi, misalnya, jika RTOS API tidak bekerja persis seperti yang seharusnya optimal untuk aplikasi, ketersediaan kode sumber memberikan peluang untuk mengubahnya.
Meskipun kelihatannya bagus untuk membuat aplikasi menjadi optimal, ada juga masalah dukungan jangka panjang. Bagaimana jika ada masalah dengan fungsionalitas RTOS? Pemasok tidak akan mendukung produk yang dimodifikasi. Apa yang harus dilakukan jika itu keluar? versi baru RTOS? Memasukkannya dalam desain ulang mungkin memerlukan banyak waktu untuk modifikasi berulang, terutama jika penulisnya tidak lagi bekerja untuk Anda (baik, Anda membuat modifikasi ini 3 tahun yang lalu dan tentu saja, atau, seperti yang mereka katakan, tentu saja, Anda tidak repot-repot menulis dokumentasi yang sesuai).

Setelah mempertimbangkan situasi di mana kode sumber mungkin diinginkan, berguna, atau diperlukan, harus disimpulkan bahwa itu tidak mutlak dan selalu diperlukan. Jika Anda membeli IP dari vendor besar, terkenal, dan stabil yang dapat menawarkan dukungan jangka panjang, maka memiliki kode sumber tidak relevan dan bahkan dapat diturunkan versinya.

Tujuan

Kode sumber digunakan untuk mendapatkan kode objek atau dieksekusi oleh penerjemah. Perubahan tidak pernah dilakukan pada kode objek, hanya pada kode sumber, diikuti dengan transformasi ulang pada kode objek.

Tujuan penting lain dari kode sumber adalah sebagai deskripsi dari suatu program. Menurut teks program, Anda dapat mengembalikan logika perilakunya. Komentar digunakan untuk membuat kode sumber lebih mudah dipahami. Ada juga alat yang memungkinkan Anda mendapatkan dokumentasi kode sumber secara otomatis - yang disebut. generator dokumentasi.

Selain itu, kode sumber memiliki banyak kegunaan lain. Ini dapat digunakan sebagai alat pengajaran; Untuk programmer pemula, akan sangat membantu untuk menjelajahi kode sumber yang ada untuk mempelajari teknik dan metodologi pemrograman. Ini juga digunakan sebagai alat komunikasi antara programmer berpengalaman karena sifatnya yang ringkas dan tidak ambigu. Membagikan kode oleh pengembang sering disebut sebagai faktor yang berkontribusi untuk meningkatkan pengalaman programmer.

Pemrogram sering mentransfer kode sumber (sebagai modul, sebagaimana adanya, atau dengan adaptasi) dari satu proyek ke proyek lainnya, yang disebut penggunaan kembali kode.

Kode sumber adalah komponen penting dalam proses porting perangkat lunak ke platform lain. Tanpa kode sumber untuk perangkat lunak apa pun, porting terlalu sulit atau tidak mungkin sama sekali.

Organisasi

Kode sumber dari beberapa bagian perangkat lunak (modul, komponen) dapat terdiri dari satu atau lebih file . Kode program tidak harus ditulis hanya dalam satu bahasa pemrograman. Misalnya, seringkali program yang ditulis dalam bahasa C, untuk tujuan optimasi, mengandung sisipan kode dalam bahasa assembly. Ada juga situasi di mana beberapa komponen atau bagian dari program ditulis dalam bahasa yang berbeda, dan kemudian dirakit menjadi satu unit yang dapat dieksekusi menggunakan teknik yang dikenal sebagai penautan pustaka (library linking). tautan perpustakaan).

Perangkat lunak yang rumit membutuhkan lusinan atau bahkan ratusan file kode sumber untuk dibuat. Dalam kasus seperti itu, untuk menyederhanakan pembangunan, biasanya digunakan file proyek, yang berisi deskripsi dependensi antara file sumber dan menjelaskan proses pembangunan. File-file ini juga dapat berisi opsi untuk kompiler dan lingkungan pengembangan. Untuk lingkungan desain yang berbeda dapat diterapkan file yang berbeda proyek, dan di beberapa lingkungan file-file ini mungkin dalam format teks yang cocok untuk diedit langsung oleh seorang programmer menggunakan universal editor teks, di lingkungan lain, format khusus didukung, dan file dibuat dan dimodifikasi menggunakan alat khusus. File proyek biasanya termasuk dalam konsep "kode sumber". Sebagian besar lingkungan bahasa modern menggunakan file proyek, terlepas dari kerumitan kode sumber lain yang disertakan dalam proyek. Seringkali, kode sumber juga berarti file sumber daya yang berisi berbagai data, misalnya, gambar grafis diperlukan untuk membangun program.

Untuk mempermudah bekerja dengan kode sumber, untuk kerja sama di atas kode oleh tim pemrogram, sistem kontrol versi digunakan.

Kualitas

Tidak seperti manusia, tidak ada kode yang "ditulis dengan baik" atau "ditulis dengan buruk" untuk komputer. Tetapi bagaimana kode ditulis dapat berdampak besar pada proses pemeliharaan perangkat lunak. Kualitas kode sumber dapat dinilai dengan parameter berikut:

  • keterbacaan kode (termasuk adanya komentar pada kode);
  • kemudahan dukungan, pengujian, debugging dan perbaikan bug, modifikasi dan porting;
  • penggunaan sumber daya yang ekonomis - memori, prosesor, ruang disk;
  • kurangnya output komentar oleh kompiler;
  • tidak adanya "sampah" - variabel yang tidak digunakan, blok kode yang tidak dapat dijangkau, komentar usang yang tidak perlu, dll .;
  • penanganan kesalahan yang memadai;
  • portabilitas - kemampuan untuk menggunakan handler (compiler, interpreter, translator) versi yang berbeda, atau bahkan OS yang berbeda ;
  • kemampuan untuk menginternasionalkan antarmuka.

Kode sumber yang tidak dapat dieksekusi

Lisensi copyleft untuk perangkat lunak bebas memerlukan redistribusi kode sumber. Lisensi ini sering juga digunakan untuk pekerjaan non-perangkat lunak seperti dokumentasi, gambar, file data untuk permainan komputer.

Dalam kasus seperti itu, kode sumber dianggap sebagai bentuk karya yang diberikan, yang lebih disukai untuk diedit. Dalam lisensi non-perangkat lunak, ini juga dapat disebut sebagai versi "format transparan". Bisa jadi, misalnya:

  • untuk file yang dikompresi dengan kehilangan data - versi lossless;
  • untuk merender gambar vektor atau model tiga dimensi - masing-masing, versi vektor dan model;
  • untuk gambar teks - teks yang sama dalam format teks;
  • untuk musik - file dalam format internal editor musik;
  • dan akhirnya, file itu sendiri, jika memenuhi kondisi yang ditentukan, atau jika versi yang lebih nyaman tidak ada.

Lihat juga


Yayasan Wikimedia. 2010 .

Lihat apa itu "Kode Sumber" di kamus lain:

    Sumber bahan negatif film, countertype, salinan kontrol film, fonogram magnetik asli dari rekaman ulang musik, kebisingan, master video fonogram, CD, dll. Sinonim: teks dieksekusi langsung oleh penerjemah, atau ... ... Kosakata keuangan

    Teks tertulis manusia program komputer dalam bahasa pemrograman Kamus istilah bisnis apa pun. Akademik.ru. 2001 ... Daftar istilah bisnis

    sumber- - Topik Telekomunikasi, konsep dasar kode sumber EN ... Buku Pegangan Penerjemah Teknis

    sumber- 3.1.13 kode sumber: Program komputer yang dinyatakan dalam bentuk yang dapat dibaca manusia (bahasa pemrograman) yang diterjemahkan ke dalam bentuk yang dapat dibaca mesin (kode objek) sebelum dapat diuji dengan ... ... Buku referensi kamus istilah dokumentasi normatif dan teknis

    sumber- bahasa teks aslinya... Kamus Terjemahan Penjelasan

    Kode sumber: Kode sumber teks tulisan manusia dari program komputer. Kode sumber untuk technothriller disutradarai oleh Duncan Jones ... Wikipedia

    Istilah ini memiliki arti lain, lihat kode sumber. Kode Sumber ... Wikipedia

    Artikel ini tidak memiliki tautan ke sumber informasi. Informasi harus dapat diverifikasi, jika tidak maka dapat dipertanyakan dan dihapus. Anda bisa ... Wikipedia

    Open Source Initiative (OSI) logo Perangkat lunak sumber terbuka adalah perangkat lunak sumber terbuka. Sumber program yang dibuat terbuka, yaitu, tersedia untuk dilihat dan diedit. Ini adalah ... ... Wikipedia

    Program sumber (kode sumber)- 48) program sumber (kode sumber) representasi yang sesuai dari satu atau lebih proses yang dapat diubah oleh sistem pemrograman menjadi bentuk yang dapat dieksekusi oleh peralatan (kode objek atau bahasa objek) (kategori 6, 7 dan 9); … Terminologi resmi