Rekayasa Perangkat Lunak

T&J untuk profesional, akademisi, dan siswa yang bekerja dalam siklus hidup pengembangan sistem

3
Apa arti dari 'kohesi tinggi'?
Saya seorang siswa yang baru-baru ini bergabung dengan perusahaan pengembangan perangkat lunak sebagai magang. Kembali di universitas, salah satu profesor saya dulu mengatakan bahwa kita harus berusaha untuk mencapai "kopling rendah dan kohesi tinggi". Saya mengerti arti kopling rendah. Ini berarti menyimpan kode komponen yang terpisah secara terpisah, sehingga perubahan …



7
Perbedaan antara tidak berubah dan const
Saya sudah sering melihat ketentuan immutabledan constdigunakan secara bergantian. Namun, dari pengalaman (kecil) saya, keduanya sangat berbeda dalam 'kontrak' yang mereka buat dalam kode: Immutable membuat kontrak bahwa objek ini tidak akan berubah, apa pun (mis. Python tuple, string Java). Const membuat kontrak bahwa dalam lingkup variabel ini tidak akan …

13
Apakah cakupan kode 100% mimpi pipa?
Apakah layak untuk mengharapkan cakupan kode 100% dalam aplikasi web jquery / backbonejs berat? Apakah masuk akal untuk gagal berlari karena cakupan 100% tidak terpenuhi ketika cakupan kode aktual berkisar sekitar 92% -95% di javascript / jquery?
28 code-quality  tdd  bdd 


2
Seperti apa pemrograman dalam bahasa Jepang? [Tutup]
Seperti yang ada saat ini, pertanyaan ini tidak cocok untuk format tanya jawab kami. Kami berharap jawaban didukung oleh fakta, referensi, atau keahlian, tetapi pertanyaan ini kemungkinan akan mengumpulkan debat, argumen, polling, atau diskusi panjang. Jika Anda merasa bahwa pertanyaan ini dapat diperbaiki dan mungkin dibuka kembali, kunjungi pusat bantuan …


3
Mendeklarasikan banyak lisensi dalam proyek GitHub
Selama bertahun-tahun, saya telah menjadi penggemar berat lisensi pada hal-hal yang dibagikan secara online untuk memudahkan orang lain untuk menentukan apakah dan bagaimana mereka dapat menggunakan kembali hal-hal tersebut. Sebelum GitHub mulai dengan lembut 'mendorong' para penggunanya untuk memasukkan file LICENSE dengan repo mereka, saya tidak benar-benar tahu cara terbaik …
28 licensing  github 

4
Apakah perlu memeriksa untuk melihat apakah Guid.NewGuid () adalah Guid.Empty?
Dalam salah satu proyek saya sedang mengerjakan pola berikut ini terlihat secara teratur: var guid = Guid.NewGuid().ToString(); while (guid == Guid.Empty.ToString()) { guid = Guid.NewGuid().ToString(); } Sementara saya mengerti bahwa a GUID tidak dijamin unik dan sesuai dokumentasi MSDN, GUID yang dihasilkan mungkin nol , apakah ini pertimbangan praktis sebenarnya …
28 .net  security 

2
Mengapa tanda persen (%) dipilih sebagai penentu format untuk keluarga fungsi printf?
Semua orang tahu, setidaknya dalam C, Anda menggunakan printfkumpulan fungsi untuk mencetak string yang diformat. Dan fungsi-fungsi ini menggunakan tanda persen ( %) untuk menunjukkan awal penentu format. Misalnya, %dberarti untuk mencetak int, dan %uberarti untuk mencetak unsigned int. Jika Anda tidak terbiasa dengan cara printffungsi dan format placeholder bekerja, …
27 c  history 


2
Apakah tes Unit dianggap rapuh jika gagal ketika logika bisnis berubah?
Silakan lihat kode di bawah ini; itu tes untuk melihat apakah seseorang dengan jenis kelamin perempuan memenuhi syarat untuk menawarkan1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } …

5
Ketika konversi dari Integer ke Single dapat kehilangan presisi
Saya sedang membaca artikel dari Microsoft tentang Pelebaran Konversi dan Opsi Ketat Aktif ketika saya sampai di bagian tersebut Konversi berikut mungkin kehilangan presisi: Integer ke Tunggal Panjang ke Tunggal atau Ganda Desimal ke Satu atau Ganda Namun, konversi ini tidak kehilangan informasi atau besarnya. .. tetapi menurut artikel lain …

2
Implementasi kelas dan antarmuka abstrak murni
Meskipun ini tidak wajib dalam standar C ++, tampaknya cara GCC misalnya, mengimplementasikan kelas induk, termasuk yang abstrak murni, adalah dengan memasukkan pointer ke tabel-v untuk kelas abstrak itu di setiap instance dari kelas yang bersangkutan . Tentu saja ini menggembungkan ukuran setiap instance dari kelas ini dengan sebuah pointer …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.