Rekayasa Perangkat Lunak

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


12
Mengapa Square yang mewarisi dari Rectangle menjadi bermasalah jika kita mengganti metode SetWidth dan SetHeight?
Jika kotak adalah jenis persegi panjang, lalu mengapa persegi tidak bisa mewarisi dari persegi panjang? Atau mengapa itu desain yang buruk? Saya telah mendengar orang berkata: Jika Anda membuat Square berasal dari Rectangle, maka Square harus dapat digunakan di mana saja yang Anda harapkan persegi panjang Apa masalah yang terjadi …




14
Apakah TDD membuat pemrograman defensif berlebihan?
Hari ini saya melakukan diskusi yang menarik dengan seorang kolega. Saya seorang programmer defensif. Saya percaya bahwa aturan " kelas harus memastikan bahwa objeknya memiliki keadaan yang valid ketika berinteraksi dengan dari luar kelas " harus selalu dipatuhi. Alasan aturan ini adalah bahwa kelas tidak tahu siapa penggunanya dan bahwa …


3
REST API security Disimpan token vs JWT vs OAuth
Saya masih berusaha menemukan solusi keamanan terbaik untuk melindungi REST API, karena jumlah aplikasi seluler dan API meningkat setiap hari. Saya telah mencoba berbagai cara otentikasi, tetapi masih memiliki beberapa kesalahpahaman, jadi saya perlu saran dari seseorang yang lebih berpengalaman. Biarkan saya katakan, bagaimana saya memahami semua hal ini. Jika …
104 security  rest  api  oauth  https 

3
Mengapa trampolin bekerja?
Saya telah melakukan beberapa JavaScript fungsional. Saya mengira bahwa Tail-Call Optimization telah diterapkan, tetapi ternyata saya salah. Jadi, saya harus belajar sendiri Trampolining . Setelah sedikit membaca di sini dan di tempat lain, saya bisa mendapatkan dasar-dasarnya dan membangun trampolin pertama saya: /*not the fanciest, it's just meant to reenforce …

10
Cara membuat basis kode besar lebih mudah dimengerti
Misalkan saya sedang mengembangkan proyek yang relatif besar. Saya sudah mendokumentasikan semua kelas dan fungsi saya dengan Doxygen, namun, saya punya ide untuk meletakkan "catatan programmer" pada setiap file kode sumber. Gagasan di balik ini adalah untuk menjelaskan dalam istilah awam bagaimana kelas tertentu bekerja (dan tidak hanya mengapa seperti …

14
Bagaimana saya bisa benar-benar menguasai bahasa pemrograman?
Saya tahu bahwa belajar bahasa, Anda cukup membeli buku, mengikuti contoh-contohnya, dan sedapat mungkin mencoba latihannya. Tapi yang benar-benar saya cari adalah bagaimana menguasai bahasa setelah Anda mempelajarinya. Sekarang saya tahu bahwa pengalaman adalah salah satu faktor utama, tetapi bagaimana dengan mempelajari internal bahasa, apa struktur yang mendasarinya, dll. Ada …

11
Bug seperti apa yang ditimbulkan oleh pernyataan “kebagian”? Apakah ada contoh signifikan secara historis?
Saya mengerti bahwa simpan untuk keluar dari loop bersarang di loop; yang gotopernyataan menghindari dan dicerca sebagai bug gaya rawan pemrograman, untuk tidak pernah digunakan. Alt Text: "Neal Stephenson berpikir itu lucu untuk menamai labelnya 'dengo'" Lihat komik aslinya di: http://xkcd.com/292/ Karena saya belajar ini sejak dini; Saya tidak benar-benar …

5
Bukankah pedoman async / menunggu penggunaan dalam C # bertentangan dengan konsep arsitektur yang baik dan lapisan abstraksi?
Pertanyaan ini menyangkut bahasa C #, tetapi saya berharap untuk mencakup bahasa lain seperti Java atau TypeScript. Microsoft merekomendasikan praktik terbaik dalam menggunakan panggilan asinkron di .NET. Di antara rekomendasi ini, mari kita pilih dua: ubah tanda tangan dari metode async sehingga mereka mengembalikan Task atau Task <> (dalam TypeScript, …
103 c#  architecture  async 

4
Apa perbedaan antara folder "lib" dan "vendor"?
Mengenai hierarki folder sumber, selalu ada beberapa fitur umum, seperti src, docatau testfolder, yang memiliki konten yang agak mudah dipahami. Namun, saya menyadari bahwa proyek-proyek besar memiliki a libdan vendorfolder, sementara saya selalu berpikir mereka sama, seperti nama mereka mengisyaratkan termasuk "pihak ketiga librariesdari luar vendors". Padahal, melihat kedua dalam …

12
Apakah kode yang dapat diuji adalah kode yang lebih baik?
Saya mencoba untuk membiasakan menulis unit test secara teratur dengan kode saya, tetapi saya telah membaca bahwa pertama - tama penting untuk menulis kode yang dapat diuji . Pertanyaan ini menyentuh prinsip-prinsip SOLID dalam penulisan kode yang dapat diuji, tetapi saya ingin tahu apakah prinsip-prinsip desain tersebut bermanfaat (atau setidaknya …

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.