Rekayasa Perangkat Lunak

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

4
Apa struktur data di balik spreadsheet?
Saya ingin memahami bagaimana spreadsheet (sekelompok sel yang dinamai atau diidentifikasi mengandung nilai atau rumus yang merujuk sel lain) diselesaikan. Saya telah mencoba melihat proyek yang ada, tetapi ada banyak hal yang terjadi dengan GUI, serialisasi, peristiwa, dll. Saya tidak dapat menemukan spreadsheet. Paling sederhana bagaimana cara kerjanya?

5
Lisensi "Sumber Terbuka" yang secara eksplisit melarang aplikasi militer
Saya seorang peneliti, dan dalam penelitian saya, saya melakukan banyak pemrograman. Saya penggemar berat konsep open-source - terutama dalam penelitian, di mana transparansi dan reproduktifitas sudah menjadi bagian besar dari budaya. Saya dengan senang hati berkontribusi sebanyak mungkin kepada komunitas, dan melepaskan kode saya untuk digunakan siapa pun adalah bagian …

4
Tambahkan tes unit untuk setiap bug baru
Dalam pekerjaan saya, semua pengembang yang menyelesaikan bug harus menambahkan tes unit baru yang memperingatkan tentang jenis bug ini (jika terjadi lagi). Jika uji unit tidak memungkinkan (misalnya, masalah desain halaman web), maka departemen QA harus membuat kasus uji untuk memeriksanya secara manual. Gagasan di balik ini adalah bahwa jika …



10
Bukankah "selalu menginisialisasi variabel" menyebabkan bug penting disembunyikan?
Pedoman Inti C ++ memiliki aturan ES.20: Selalu menginisialisasi objek . Hindari kesalahan yang digunakan sebelum ditetapkan dan perilaku terkait yang tidak terdefinisi. Hindari masalah dengan pemahaman inisialisasi yang kompleks. Sederhanakan refactoring. Tetapi aturan ini tidak membantu menemukan bug, itu hanya menyembunyikan mereka. Misalkan suatu program memiliki jalur eksekusi di …
35 c++  c 



2
Apakah Node.js suatu kerangka kerja? [Tutup]
Saya terus melihat perekrut, pengembang, dll. Merujuk ke Node.js sebagai kerangka kerja. Menurut pendapat saya, ini karena ketidaktahuan untuk apa Node.js sebenarnya. Seringkali, dalam deskripsi pekerjaan, Node.js dikelompokkan sebagai perpustakaan di antara AngularJS , React , dll. Secara umum, saya melihatnya dimasukkan oleh seseorang yang tidak mengetahui perbedaannya (SDM, perekrut, …


8
Paksa pengembang lain untuk memanggil metode setelah menyelesaikan pekerjaan mereka
Di perpustakaan di Java 7, saya memiliki kelas yang menyediakan layanan ke kelas lain. Setelah membuat turunan dari kelas layanan ini, satu metode dapat dipanggil beberapa kali (sebut saja doWork()metode). Jadi saya tidak tahu kapan pekerjaan kelas layanan selesai. Masalahnya adalah kelas layanan menggunakan benda berat dan harus melepaskannya. Saya …
34 java 


3
Apakah ini penggunaan berlebihan konstan simbolik?
Saya cukup baru dalam rekayasa perangkat lunak, dan sebagai latihan belajar saya menulis permainan catur. Teman saya melihatnya dan menunjukkan bahwa kode saya terlihat seperti for (int i = 0; i < 8; i++){ for (int j = 0; j < 8; j++){ sementara dia bersikeras bahwa itu seharusnya terjadi …

1
KERING kode yang tidak terkait, tetapi hampir identik
Saya memiliki beberapa kode yang hampir identik, tetapi menggunakan jenis yang sama sekali berbeda, tanpa pewarisan di antara mereka, pada variabel utama. Secara khusus, saya menulis analisa dengan Roslyn untuk C # dan VB.NET, dengan tipe berikut: Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax Saya bertanya-tanya apakah, karena kode melakukan hal yang sama, saya harus …
34 c#  design  dry 

1
Nama untuk Fungsi yang Mengembalikan Argumennya?
Fungsi yang tidak melakukan apa-apa, tidak mengambil argumen dan tidak mengembalikan apa pun secara tradisional disebut a noop, atau no-op. Contoh noop ada di bawah ini: function noop(){} http://en.wikipedia.org/wiki/NOP Jadi apakah ada nama untuk fungsi yang hanya dimaksudkan untuk mengembalikan argumennya, dan tidak melakukan hal lain? Contoh fungsi semacam ini: …
34 functions 

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.