Rekayasa Perangkat Lunak

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


2
Apakah ide yang baik untuk memberikan tanda tangan fungsi berbeda yang melakukan hal yang sama?
Berikut adalah kelas C ++ yang dibangun dengan tiga nilai. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; Semua tipe parameter berbeda. Saya bisa membebani konstruktor sehingga pesanan tidak masalah. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, int, char); Foo(char, int, std::string); Foo(char, std::string, …

3
Menerapkan Pola Pengunjung untuk Pohon Sintaks Abstrak
Saya sedang dalam proses membuat bahasa pemrograman saya sendiri, yang saya lakukan untuk tujuan belajar. Saya sudah menulis lexer dan parser keturunan rekursif untuk subset dari bahasa saya (saya saat ini mendukung ekspresi matematika, seperti + - * /dan kurung). Pengurai memberikan saya kembali Pohon Sintaks Abstrak, di mana saya …

5
Unit Testing di dunia “no setter”
Saya tidak menganggap diri saya seorang ahli DDD tetapi, sebagai arsitek solusi, cobalah untuk menerapkan praktik terbaik bila memungkinkan. Saya tahu ada banyak diskusi di sekitar pro dan kontra tentang "gaya" setter no (publik) di DDD dan saya bisa melihat kedua sisi argumen. Masalah saya adalah bahwa saya bekerja pada …

3
Mengapa multithreading sering lebih disukai untuk meningkatkan kinerja?
Pertanyaan ini dimigrasikan dari Stack Overflow karena dapat dijawab di Rekayasa Perangkat Lunak Stack Exchange. Bermigrasi 6 tahun yang lalu . Saya punya pertanyaan, ini tentang mengapa programmer tampaknya menyukai concurrency dan program multi-threaded secara umum. Saya sedang mempertimbangkan 2 pendekatan utama di sini: pendekatan async pada dasarnya berdasarkan sinyal, …


5
Cara menerapkan riwayat kata sandi yang aman
Kata sandi tidak boleh disimpan dalam teks biasa karena alasan keamanan yang jelas: Anda harus menyimpan hash, dan Anda juga harus membuat hash dengan hati-hati untuk menghindari serangan tabel pelangi. Namun, biasanya Anda memiliki persyaratan untuk menyimpan n kata sandi terakhir dan untuk menerapkan kompleksitas minimal dan perubahan minimal antara …

5
Etiket Pelacakan Bug - Necromancy atau Duplicate?
Saya menemukan masalah permintaan fitur yang sangat lama (2+ tahun) dalam pelacak bug untuk proyek sumber terbuka yang ditandai sebagai "diselesaikan (tidak akan diperbaiki)" karena kurangnya alat yang diperlukan untuk melakukan peningkatan yang diminta. Pada waktu berlalu sejak penentuan itu dibuat, alat-alat baru telah dikembangkan yang akan memungkinkannya untuk diselesaikan, …



3
Memberi nama metode "lakukan X jika perlu"
Apa cara yang baik untuk memberi nama metode yang memeriksa apakah X perlu dilakukan, dan apakah X jika perlu? Misalnya, bagaimana memberi nama metode yang memperbarui daftar pengguna jika pengguna baru telah masuk? UpdateListIfNeededtampaknya terlalu lama, sementara sederhana UpdateListmenyiratkan operasi yang mungkin mahal dan tidak perlu dilakukan setiap saat. EnsureListUpdatedadalah …

3
Daftar-periksa untuk menghindari penguncian vendor?
Apakah ada seperangkat aturan yang disetujui industri untuk menghindari vendor lock-in? Maksud saya, sesuatu yang bisa ditunjukkan kepada seorang manajer, atau pembuat keputusan lain, yang mudah dimengerti dan mudah diverifikasi. Apakah ada seperangkat aturan yang diterima secara universal, daftar periksa atau serangkaian kondisi yang membantu mendeteksi dan mencegah vendor terkunci …

5
berhasil: / gagal: blok vs selesai: blok
Saya melihat dua pola umum untuk blok di Objective-C. Salah satunya adalah sepasang keberhasilan: / kegagalan: blok, yang lain adalah penyelesaian tunggal: blok. Misalnya, katakanlah saya memiliki tugas yang akan mengembalikan objek secara tidak sinkron dan tugas itu mungkin gagal. Pola pertama adalah -taskWithSuccess:(void (^)(id object))success failure:(void (^)(NSError *error))failure. Pola …

9
Meningkatkan tanpa mentor [ditutup]
Tutup. Pertanyaan ini di luar topik . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga sesuai topik untuk Rekayasa Perangkat Lunak Stack Exchange. Ditutup 4 tahun yang lalu . Walaupun saya menganggap diri saya tidak terlalu berpengalaman, saya tetap bekerja sebagai pemimpin (dalam hal ini saya …


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.