Rekayasa Perangkat Lunak

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


6
Apa cara terbaik untuk menangani refactoring file besar?
Saat ini saya sedang mengerjakan proyek yang lebih besar yang sayangnya memiliki beberapa file di mana pedoman kualitas perangkat lunak tidak selalu diikuti. Ini termasuk file besar (baca 2000-4000 baris) yang jelas mengandung banyak fungsi berbeda. Sekarang saya ingin memperbaiki file besar ini menjadi beberapa file kecil. Masalahnya adalah, karena …


13
Apakah tidak masuk akal mengharapkan Any () * tidak * melempar pengecualian referensi nol?
Ketika Anda membuat metode ekstensi, Anda dapat, tentu saja, memanggilnya null. Tapi, tidak seperti pemanggilan metode instan, memanggilnya dengan null tidak harus membuang NullReferenceException-> Anda harus memeriksa dan membuangnya secara manual. Untuk implementasi metode ekstensi Linq, Any()Microsoft memutuskan bahwa mereka harus melempar ArgumentNullException( https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/AnyAll.cs ). Itu membuatku kesal harus menulis …

9
Apakah JS Boolean yang memiliki properti khusus merupakan praktik yang buruk?
Di JS Anda dapat mengembalikan Boolean yang memiliki properti khusus. Misalnya. ketika Modernizr menguji dukungan video, ia mengembalikan trueatau falsetetapi Boolean yang dikembalikan (Bool adalah objek kelas satu di JS) memiliki properti yang menentukan format apa yang didukung. Pada awalnya itu sedikit mengejutkan saya tetapi kemudian saya mulai menyukai ide …

6
Mengapa tidak mengembalikan tanggal sebagai string dari database?
Dalam aplikasi web tipikal, tanggal diambil dari lapisan basis data yang diketik dengan kuat (mis. Dalam c # sebagai System.DateTime sebagai lawan System.String). Ketika suatu tanggal perlu dinyatakan sebagai string (misalnya ditampilkan pada halaman), konversi dari DateTime ke string dilakukan di tingkat presentasi. Kenapa ini? Mengapa hal yang buruk untuk …

5
Bagaimana spinlock berbeda dari polling?
Apakah spinlock dan polling adalah hal yang sama? Wikipedia: spinlock adalah kunci yang menyebabkan utas mencoba mendapatkannya dengan hanya menunggu dalam satu lingkaran ("putaran") sambil berulang kali memeriksa apakah kunci tersedia Ini terdengar sangat mirip: while(!ready); Saya diajari untuk menghindari pemungutan suara bila memungkinkan karena hal itu secara keseluruhan kurang …
41 locks  kernel  polling 

6
Mengapa kita menggunakan kata "sprint"?
Salah satu prinsip pendiri Agile Manifesto adalah Proses lincah mempromosikan pembangunan berkelanjutan. Sponsor, pengembang, dan pengguna harus dapat mempertahankan kecepatan konstan tanpa batas. Tim scrum menggunakan istilah sprint untuk merujuk ke siklus kerja (juga dikenal sebagai iterasi). Namun ini tidak masuk akal bagi saya. Menurut Google, sprint adalah: berlari dengan …

7
Apakah menggunakan server database masuk akal jika aplikasi hanya melakukan sesuatu secara lokal?
Saya telah melihat beberapa aplikasi yang pada dasarnya adalah perangkat lunak aplikasi yang berjalan secara lokal ke sistem (sehingga mereka tidak banyak berkomunikasi melalui jaringan). Aplikasi ini tampaknya bergantung pada server database untuk menyimpan datanya. Contoh aplikasi adalah Amarok (pemutar musik populer di Linux). Saya tidak tahu apakah mereka masih …

13
Mengapa Anda harus menentukan tipe data saat mendeklarasikan variabel?
Dalam sebagian besar bahasa pengkodean (jika tidak semua) Anda perlu mendeklarasikan variabel. Misalnya dalam C # jika itu bidang angka maka int PhoneNumber Jika saya menggunakan bahasa Inggris normal saya tidak perlu mendeklarasikan PhoneNumbersebagai intmenggunakannya. Sebagai contoh jika saya meminta teman saya Sam untuk memberi saya nomor teleponnya saya katakan: …

13
Seberapa amankah kompilasi kode sumber dari orang asing acak? [Tutup]
Misalkan saya meninjau kode yang dikirim pelamar pekerjaan untuk membuktikan keterampilan mereka. Jelas saya tidak ingin menjalankan executables yang mereka kirim. Tidak begitu jelas saya lebih suka tidak menjalankan hasil kompilasi kode mereka (hanya misalnya, Java memungkinkan untuk menyembunyikan kode yang dapat dijalankan dalam komentar ). Bagaimana dengan kompilasi kode …

5
Adakah orang lain yang merasa Scrum tidak gesit?
Saya penggemar berat pengembangan tangkas dan menggunakan XP pada proyek yang sangat sukses beberapa tahun yang lalu. Saya menyukai segala sesuatu tentang itu, pendekatan pengembangan berulang, menulis kode di sekitar tes, pemrograman pasangan, memiliki pelanggan di situs untuk menjalankan sesuatu. Itu adalah lingkungan kerja yang sangat produktif dan saya tidak …
41 agile  scrum 

7
Mengapa tidak menyematkan gaya / skrip dalam HTML alih-alih menautkan?
Kami menggabungkan file CSS dan JavaScript untuk mengurangi jumlah permintaan HTTP, yang meningkatkan kinerja. Hasilnya adalah HTML seperti ini: <link rel="stylesheet" href="all-my-css-0fn392nf.min.css"> <!-- later... --> <script src="all-my-js-0fn392nf.min.js"></script> Jika kita punya logika sisi-server / build untuk melakukan semua ini untuk kita, mengapa tidak mengambil satu langkah lebih jauh dan menanamkan gaya …


6
"Saya", "Kami", atau Baik dalam dokumentasi kode
Saya menemukan diri saya menulis (semoga) komentar bermanfaat dalam kode (C ++) jenis dokumentasi: The reason we are doing this is... Alasan saya menggunakan "kita" daripada "saya" adalah karena saya melakukan banyak penulisan akademis di mana "kita" sering lebih disukai. Jadi, inilah pertanyaannya. Apakah ada alasan yang baik untuk memilih …

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.