Rekayasa Perangkat Lunak

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

3
Unit menguji perilaku tanpa menyambung ke detail implementasi
Dalam ceramahnya TDD, di mana semuanya salah , Ian Cooper mendorong niat asli Kent Beck di balik pengujian unit dalam TDD (untuk menguji perilaku, bukan metode kelas khusus) dan berpendapat untuk menghindari menggabungkan tes untuk implementasi. Dalam hal perilaku seperti save X to some data sourcedalam sistem dengan seperangkat layanan …

5
Mengapa unit menguji metode pribadi dianggap sebagai praktik buruk?
Konteks: Saat ini saya sedang mengerjakan proyek kecil dengan Python. Saya biasanya menyusun kelas saya dengan beberapa metode publik yang didokumentasikan tetapi terutama berkaitan dengan konsep tingkat tinggi (apa yang harus diketahui dan digunakan oleh pengguna kelas), dan banyak metode tersembunyi (dimulai dengan garis bawah) yang bertanggung jawab atas pemrosesan …

2
Bagaimana cara mewakili set di JSON?
JSON mendukung struktur data berikut (setara Java): Skalar, Array / Daftar, dan Peta. A Settidak didukung di luar kotak di JSON. Saya memikirkan beberapa cara untuk mewakili satu set di JSON: [1] - Sebagai daftar Namun, daftar memiliki urutannya sendiri, jadi dua daftar berikut, ["a", "b"]dan ["b", "a"]tidak sama dengan …

4
Metodologi Siklus Hidup Perangkat Lunak untuk Tim One Man [ditutup]
Seperti yang ada saat ini, pertanyaan ini tidak cocok untuk format tanya jawab kami. Kami berharap jawaban didukung oleh fakta, referensi, atau keahlian, tetapi pertanyaan ini kemungkinan akan mengumpulkan debat, argumen, polling, atau diskusi panjang. Jika Anda merasa bahwa pertanyaan ini dapat diperbaiki dan mungkin dibuka kembali, kunjungi pusat bantuan …

6
Bagaimana menerapkan hashing float dengan perkiraan kesetaraan
Katakanlah kita memiliki kelas Python berikut (masalahnya ada di Jawa sama dengan equalsdan hashCode) class Temperature: def __init__(self, degrees): self.degrees = degrees di mana degreessuhu di Kelvin sebagai pelampung. Sekarang, saya ingin menerapkan pengujian kesetaraan dan hashing Temperaturedengan cara itu membandingkan mengapung hingga perbedaan epsilon alih-alih pengujian kesetaraan langsung, dan …


5
Mengirim objek dua kali ke metode yang sama atau menggabungkan dengan antarmuka gabungan?
Saya memiliki metode yang membuat file data setelah berbicara dengan papan digital: CreateDataFile(IFileAccess boardFileAccess, IMeasurer boardMeasurer) Di sini boardFileAccessdan boardMeasurermerupakan contoh yang sama dari Boardobjek yang mengimplementasikan keduanya IFileAccessdan IMeasurer. IMeasurerdigunakan dalam kasus ini untuk metode tunggal yang akan menetapkan satu pin di papan aktif untuk membuat pengukuran sederhana. Data …

6
Apa masalah yang tepat dengan memungkinkan getter?
Saya tidak melihat pendapat tentang semantik tetapi hanya untuk kasus di mana memiliki getter yang digunakan secara bijaksana adalah halangan yang sebenarnya. Mungkin itu melemparkan saya ke dalam spiral yang tidak pernah berakhir dengan mengandalkan mereka, mungkin alternatifnya lebih bersih dan menangani getter secara otomatis, dll. Sesuatu yang konkret. Saya …

7
Tim memperkirakan poin cerita, bisnis menginginkan waktu aktual
Saya yakin ini bukan tema yang tidak biasa. Kami memiliki dua tim scrum yang melakukan pekerjaan yang baik untuk memperkirakan cerita pengguna menggunakan poin cerita (rasi tim saat ini baru berusia sekitar 8 bulan, meskipun anggota tim memiliki pengalaman scrum beberapa tahun). Tetapi sulit bagi bagian bisnis perusahaan untuk berhubungan …
15 scrum  estimation 

3
Apa cara yang tepat untuk mengelola skrip pengembang?
Pengembang membuat skrip untuk membantu dalam pekerjaan mereka. Misalnya, untuk menjalankan Maven dengan parameter tertentu, untuk membunuh tugas latar belakang yang tidak diperlukan yang muncul dalam pengembangan, atau untuk menyambung ke server tertentu. Skrip bukan skrip build inti atau skrip yang digunakan di server Continuous Integration kami. Apa cara terbaik …

3
API REST Versioning. Setiap API memiliki versinya sendiri
Sangat umum untuk menentukan versi REST API di URL, khususnya di awal jalur, yaitu sesuatu seperti: POST /api/v1/accounts GET /api/v1/accounts/details Namun, saya belum melihat desain di mana versi dikaitkan dengan setiap API. Dengan kata lain, kami mempertahankan versi setiap API secara terpisah. yaitu: POST /api/accounts/v2 GET /api/accounts/details/v3 Dengan menggunakan pendekatan …

6
Jauhkan "kode" dari desainer?
Saya membangun sedikit proyek dengan teman saya, tetapi kami selalu datang ke perangkap yang sama berulang-ulang. Saya tahu cara menulis PHP, Javascript dan semua hal (saya juga tahu CSS dan HTML) sehingga saya bisa melakukan sebagian besar pekerjaan ketika datang untuk membangun fungsionalitas yang sebenarnya. Namun, dia tidak bisa, tetapi …
15 design  cakephp 


1
Java logger: inisialisasi blok statis atau inisialisasi dalam deklarasi variabel
Saat ini saya menggunakan logger di proyek saya dengan cara berikut: private static final Logger LOGGER; static{ LOGGER = logger.getLogger(); } Saya mendapat review kode untuk menggunakan blok statis untuk menginisialisasi variabel logger. Saya diberitahu untuk menginternalisasi variabel logger dalam pernyataan deklarasi itu sendiri. private static final Logger LOGGER = …
15 java 

1
Mengapa Protobuf 3 menjadikan semua bidang pada pesan opsional?
Sintaks 3 protobuf membuat semua bidang opsional menjatuhkan kata kunci requireddan optionaldari sintaks proto2 sebelumnya. Membaca beberapa komentar dari pengembang tampaknya itu dilakukan untuk meningkatkan kompatibilitas biner maju / mundur. Tetapi bagi saya, itu bisa ditegakkan dengan hanya versi nama paket, katakan com.example.messages.v1dan kemudian biarkan klien untuk menerapkan deserializer yang …

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.