Rekayasa Perangkat Lunak

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

8
Lisensi Perangkat Lunak yang mendiskriminasi dengan alasan 'etis'
Saya telah menghabiskan waktu membaca lisensi perangkat lunak copyleft dan permisif yang umum. Apakah ada lisensi yang memungkinkan pencipta aplikasi atau algoritme untuk secara luas menentukan siapa yang dapat menggunakan / mendistribusikan produk berdasarkan prasangka pribadi mereka sendiri? Saya mengerti bahwa orang menggunakan lisensi ganda untuk memaksa entitas komersial membayar …


7
Keabadian lengkap dan Pemrograman Berorientasi Objek
Dalam sebagian besar bahasa OOP, objek umumnya dapat berubah dengan set pengecualian terbatas (seperti misalnya tupel dan string dalam python). Dalam sebagian besar bahasa fungsional, data tidak dapat diubah. Baik objek yang dapat berubah maupun yang tidak berubah membawa daftar kelebihan dan kekurangan mereka sendiri. Ada bahasa yang mencoba mengawinkan …

4
ulasan kode dengan git-flow dan github
Dengan git dan github biasa saya bisa melakukan review kode hanya dengan membuat permintaan tarik dari cabang fitur yang saya kerjakan ke cabang utama. Bagaimana saya melakukan review kode dengan git-flow? Dengan alur kerja seperti "fitur git flow selesai, saya bingung di mana ulasan kode benar-benar terjadi dan bagaimana git-flow …

3
Pemrograman Prinsip SOLID
Seiring waktu saya dapat memahami dua bagian SOLID - "S" dan "O". "O" - Saya belajar Prinsip Terbuka Terbuka dengan bantuan Pola Warisan dan Strategi. "S" - Saya belajar prinsip Tanggung Jawab Tunggal saat mempelajari ORM (logika kegigihan diambil dari objek domain). Dengan cara yang sama, apa wilayah / tugas …

16
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 terbatas?
43 versioning 

11
Apa praktik terbaik terkait int yang tidak ditandatangani?
Saya menggunakan int unsigned di mana-mana, dan saya tidak yakin apakah saya harus melakukannya. Ini bisa dari basis data kolom id kunci utama ke penghitung, dll. Jika suatu angka tidak boleh negatif, maka saya akan selalu menggunakan int yang tidak ditandatangani. Namun saya perhatikan dari kode lain bahwa tidak ada …

6
Cara yang paling mudah dibaca untuk memformat panjang jika kondisinya? [Tutup]
ifKondisi yang berliku panjang harus dihindari jika memungkinkan, namun terkadang kita semua akhirnya menulisnya. Bahkan jika itu adalah kondisi yang sangat sederhana, pernyataan yang terlibat terkadang sangat bertele-tele, sehingga seluruh kondisi menjadi sangat panjang. Apa cara yang paling mudah dibaca untuk memformatnya? if (FoobarBaz::quxQuux(corge, grault) || !garply(waldo) || fred(plugh) !== …




10
Dapat diterima untuk bergantung pada int acak yang unik?
Saya telah mengimplementasikan protokol jaringan, dan saya membutuhkan paket untuk memiliki pengidentifikasi unik. Sejauh ini, saya baru saja menghasilkan bilangan bulat 32-bit acak, dan dengan asumsi bahwa secara astronomis tidak mungkin akan ada tabrakan selama umur suatu program / koneksi. Apakah ini secara umum dianggap sebagai praktik yang dapat diterima …



5
Arsitektur Bersih: Gunakan case yang berisi presenter atau mengembalikan data?
The Arsitektur Bersih menyarankan untuk membiarkan kasus penggunaan interactor memanggil implementasi aktual dari presenter (yang disuntikkan, berikut DIP) untuk menangani respon / display. Namun, saya melihat orang-orang mengimplementasikan arsitektur ini, mengembalikan data keluaran dari interaktor, dan kemudian membiarkan pengontrol (di lapisan adaptor) memutuskan bagaimana menanganinya. Apakah solusi kedua bocor tanggung …

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.