Rekayasa Perangkat Lunak

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

5
Apakah masih valid untuk berbicara tentang model anemia dalam konteks pemrograman fungsional?
Sebagian besar pola desain taktis DDD milik paradigma berorientasi objek, dan model anemia menggambarkan situasi ketika semua logika bisnis dimasukkan ke dalam layanan daripada objek sehingga menjadikan mereka semacam DTO. Dengan kata lain model anemik adalah sinonim dari gaya prosedural, yang tidak disarankan untuk model kompleks. Saya tidak terlalu berpengalaman …

8
Apakah bidang Boolean baru lebih baik daripada referensi nol ketika suatu nilai bisa tidak ada secara bermakna?
Sebagai contoh, misalkan saya memiliki kelas Member,, yang memiliki lastChangePasswordTime: class Member{ . . . constructor(){ this.lastChangePasswordTime=null, } } yang terakhirChangePasswordTime dapat berarti tidak ada, karena beberapa anggota mungkin tidak pernah mengubah kata sandi mereka. Tetapi menurut Jika nol itu jahat, apa yang harus digunakan ketika suatu nilai bisa tidak …
39 null  boolean 



11
Haruskah REST API mengembalikan 500 Server Internal Kesalahan untuk menunjukkan bahwa permintaan referensi objek yang tidak ada?
Saya bekerja dengan REST API yang berada di server yang menangani data untuk banyak perangkat IoT. Tugas saya adalah meminta server menggunakan API untuk mengumpulkan informasi kinerja spesifik tentang perangkat tersebut. Dalam satu contoh, saya mendapatkan daftar perangkat yang tersedia dan pengidentifikasi yang sesuai, kemudian meminta server untuk detail lebih …


8
Membatalkan pernyataan IF
Jadi saya sudah pemrograman selama beberapa tahun sekarang dan baru-baru ini sudah mulai menggunakan ReSharper lebih banyak. Satu hal yang selalu disarankan ReSharper kepada saya adalah "membalikkan 'jika' pernyataan untuk mengurangi bersarang". Katakanlah saya memiliki kode ini: foreach (someObject in someObjectList) { if(someObject != null) { someOtherObject = someObject.SomeProperty; } …



7
Menerjemahkan data eksternal ke bahasa tempat Anda pemrograman
Saya tidak yakin apa yang harus dilakukan dengan hal berikut: Kami mengambil data dari alat eksternal di dalam alat kami sendiri. Data ini ditulis dalam bahasa Belanda. Kami sedang menulis kode Java kami dalam bahasa Inggris. Haruskah kita menerjemahkan bahasa Belanda ini ke bahasa Inggris atau tetap menggunakan bahasa Belanda? …
39 naming  translate 

3
Mengapa Python tidak memiliki fungsi "meratakan" untuk daftar?
Erlang dan Ruby keduanya dilengkapi dengan fungsi untuk meratakan array. Sepertinya alat yang sederhana dan bermanfaat untuk ditambahkan ke bahasa. Orang bisa melakukan ini: >>> mess = [[1, [2]], 3, [[[4, 5]], 6]] >>> mess.flatten() [1, 2, 3, 4, 5, 6] Atau bahkan: >>> import itertools >>> mess = [[1, …

13
Apakah salah menggunakan parameter boolean untuk menentukan nilai?
Menurut Apakah salah menggunakan parameter boolean untuk menentukan perilaku? , Saya tahu pentingnya menghindari menggunakan parameter boolean untuk menentukan perilaku, misalnya: versi asli public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } versi baru: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ b(); c(); } Tetapi bagaimana …

6
String hardcoding yang tidak akan pernah berubah
Jadi, dalam upaya saya untuk menulis sebuah program untuk mengkonjugasikan kata kerja (secara algoritmik, bukan melalui dataset) untuk bahasa Prancis, saya menemukan sedikit masalah. Algoritma untuk mengkonjugasikan kata kerja sebenarnya cukup sederhana untuk 17 atau lebih kasus kata kerja, dan berjalan pada pola tertentu untuk setiap kasus; dengan demikian, sufiks …
39 design  strings 


5
Masalah dengan Menghindari kelas Penamaan Smurf dengan ruang nama
Saya menarik istilah penamaan smurf dari sini (nomor 21). Untuk menyelamatkan siapa pun yang tidak mengenal masalahnya, penamaan Smurf adalah tindakan prefixing sekelompok kelas terkait, variabel, dll dengan awalan umum sehingga Anda berakhir dengan "a SmurfAccountViewpass a SmurfAccountDTOto the SmurfAccountController", dll. Solusi yang umumnya saya dengar adalah membuat namespace smurf …

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.