Rekayasa Perangkat Lunak

44
Mengapa kasus terburuk untuk fungsi ini O (n ^ 2)?

Saya mencoba untuk belajar sendiri bagaimana menghitung notasi BigO untuk fungsi arbitrer. Saya menemukan fungsi ini di buku teks. Buku ini menegaskan bahwa fungsinya adalah O (n 2 ). Ini memberikan penjelasan mengapa ini terjadi, tetapi saya berjuang untuk mengikuti. Saya bertanya-tanya apakah...

43
Prinsip-prinsip SOLID vs YAGNI

Kapan prinsip-prinsip SOLID menjadi YAGNI? Sebagai pemrogram, kami membuat pertukaran sepanjang waktu, antara kerumitan, pemeliharaan, waktu untuk membangun, dan sebagainya. Di antara yang lain, dua pedoman paling cerdas untuk membuat pilihan ada dalam pikiran saya prinsip-prinsip SOLID dan YAGNI....

43
Apakah objek konfigurasi tunggal adalah ide yang buruk?

Pada sebagian besar aplikasi saya, saya memiliki objek "config" tunggal atau statis, yang bertugas membaca berbagai pengaturan dari disk. Hampir semua kelas menggunakannya, untuk berbagai keperluan. Pada dasarnya itu hanya tabel hash dari pasangan nama / nilai. Ini hanya baca, jadi saya belum...

43
Prototyping vs. Clean Code pada tahap awal

Saya berencana untuk bekerja / memulai beberapa proyek pribadi yang dapat berakhir sebagai pekerjaan harian saya. Itu membuat saya berpikir, jalan mana yang harus saya mulai? Hanya prototipe — tulis saja kode dasar yang berfungsi yang dapat membuat saya menghabiskan banyak waktu untuk...

43
Apakah lebih aman untuk hash kata sandi beberapa kali?

Saya telah membaca beberapa kali ketika menyimpan kata sandi, praktik yang baik untuk 'menggandakan hash' string (mis. Dengan md5 lalu sha1, keduanya dengan garam, jelas). Saya kira pertanyaan pertama adalah, "Apakah ini benar?" Jika tidak, maka tolong abaikan sisa pertanyaan ini :) Alasan saya...

43
Pemicu SQL dan kapan atau kapan tidak menggunakannya.

Ketika saya awalnya belajar tentang SQL saya selalu diberitahu, hanya menggunakan pemicu jika Anda benar-benar perlu dan memilih untuk menggunakan prosedur tersimpan sebagai gantinya jika mungkin. Sayangnya, pada saat itu (beberapa tahun yang lalu) saya tidak terlalu penasaran dan peduli dengan...

43
Tanggal sebagai nomor versi perangkat lunak

Pengembang perangkat lunak biasanya tidak menggunakan tanggal sebagai nomor versi, meskipun format YYYYMMDD (atau variasinya) terlihat cukup solid untuk digunakan. Apakah ada yang salah dengan skema itu? Atau apakah itu berlaku untuk 'jenis' perangkat lunak saja (seperti produksi in-house) yang...