Pertanyaan yang diberi tag «refactoring»

Refactoring adalah teknik disiplin untuk merestrukturisasi tubuh kode yang ada, mengubah struktur internalnya tanpa mengubah perilaku eksternalnya.

5
Haruskah Anda memperbaiki kode yang ada yang tidak rusak dalam proyek yang berfokus pada fitur-fitur baru?
Diberikan proyek kecil yang bertujuan untuk menambah fungsionalitas baru ke aplikasi, perubahan yang diperkenalkan menyentuh beberapa kode yang ada, termasuk memperbarui ini di area tertentu. Selama implementasi, saya telah menemukan beberapa kode ini yang diperbarui memiliki kandidat untuk refactoring. Apakah ini waktu yang tepat untuk refactor yang pada gilirannya akan …

3
Kapan harus berhenti dan kapan harus menghapus di Jawa
Sebagai bagian dari upaya refactoring atau hanya pengembangan yang sedang berlangsung, metode tertentu atau mungkin seluruh kelas mungkin menjadi usang dalam beberapa hal. Java mendukung @Deprecatedanotasi untuk menunjukkan bahwa mungkin ada cara yang lebih baik untuk menangani fungsi yang dimaksud. Saya membayangkan ini sangat berguna di API publik di mana …

2
Bagaimana cara mengatur kode berulang?
Tim saya membuat banyak sekali formulir web. Sebagian besar formulir ini hanya mengirim email, dan beberapa menulis database sederhana. Saat ini, setiap formulir hidup dalam solusi terpisah di Server Visual Studio Team Foundation. Itu berarti kami memiliki hampir 100 proyek formulir yang berbeda, yang membuatnya sulit untuk mempertahankan konsistensi. Setiap …

4
Apa pendekatan yang baik untuk membersihkan proyek-proyek lama?
Saya punya beberapa perangkat lunak yang saya tulis sekitar 2 tahun yang lalu dan perlu beberapa fitur ditambahkan padanya. Saya telah menyadari bahwa itu dalam kekacauan yang mengerikan, dan saya memiliki keinginan untuk memindahkan semuanya, merapikan, dll. Saya telah membaca artikel Joel pada Perangkat Lunak tentang tidak memulai lagi , …

6
Apa cara praktis untuk menerapkan SRP?
Apa saja teknik praktis yang digunakan orang untuk memeriksa apakah suatu kelas melanggar prinsip tanggung jawab tunggal? Saya tahu bahwa sebuah kelas seharusnya hanya memiliki satu alasan untuk berubah, tetapi kalimat itu agak kurang praktis untuk benar-benar mengimplementasikannya. Satu-satunya cara yang saya temukan adalah dengan menggunakan kalimat "The ......... seharusnya …

5
Bagaimana cara mendekati refactoring aplikasi web yang ada?
Saya telah membaca dan banyak berpikir belakangan ini, dan saya sampai pada kesimpulan bahwa saya mungkin saya harus memikirkan kembali strategi pengembangan web saya. Saya melakukan banyak pemrograman on-the-fly, dan dalam 2 tahun saya telah mengerjakan aplikasi web PHP, apa yang mungkin telah dimulai sebagai alat kecil menjadi proyek yang …

4
Ganti Kondisional dengan Polimorfisme dengan cara yang benar?
Pertimbangkan dua kelas Dogdan Catkeduanya sesuai dengan Animalprotokol (dalam hal bahasa pemrograman Swift. Itu akan menjadi antarmuka dalam Java / C #). Kami memiliki layar yang menampilkan daftar campuran anjing dan kucing. Ada Interactorkelas yang menangani logika di balik layar. Sekarang kami ingin menyajikan peringatan konfirmasi kepada pengguna ketika ia …


6
Bagaimana Anda menghindari iterasi tanpa henti melalui desain yang kurang optimal?
Jadi mungkin seperti banyak, saya sering menemukan diri saya mengalami sakit kepala dengan masalah desain di mana, misalnya, ada beberapa pola desain / pendekatan yang tampaknya sesuai dengan masalah dan memiliki manfaat yang diinginkan. Sangat sering ada beberapa peringatan yang membuatnya sulit untuk menerapkan pola / pendekatan tanpa semacam pekerjaan …

5
Menggunakan pola berbeda untuk fitur serupa
Saya adalah satu-satunya pengembang di proyek yang, seperti proyek perangkat lunak apa pun, dapat diambil oleh orang lain di masa mendatang. Katakanlah saya menggunakan pola X untuk mengimplementasikan fitur A. Setelah mengembangkan dan menyelesaikan fitur, saya menyadari bahwa saya dapat mengimplementasikan fitur yang sama menggunakan pola Y, yang baru saja …

4
Mengurangi kompleksitas kelas
Saya telah melihat beberapa jawaban dan mencari di Google, tetapi saya tidak dapat menemukan sesuatu yang membantu (yaitu, itu tidak akan memiliki efek samping yang canggung). Masalah saya, secara abstrak, adalah bahwa saya memiliki objek dan perlu melakukan urutan operasi yang panjang di atasnya; Saya menganggapnya sebagai semacam jalur perakitan, …

3
Saya harus berkompromi: KERING, atau Command-Query-Separation?
Saya baru-baru ini refactoring metode yang merupakan perintah dan metode permintaan. Setelah memisahkannya menjadi metode satu perintah dan satu metode kueri, saya menemukan bahwa sekarang ada beberapa tempat dalam kode tempat saya memanggil perintah lalu mendapatkan nilai dari kueri, yang sepertinya merupakan pelanggaran prinsip KERING. Tetapi jika saya harus membungkus …


7
Variabel sementara vs persyaratan panjang garis
Saya telah membaca Refactoring Martin Fowler . Ini umumnya sangat baik tetapi salah satu rekomendasi Fowler tampaknya menyebabkan sedikit masalah. Fowler menyarankan Anda mengganti variabel sementara dengan kueri, jadi alih-alih ini: double getPrice() { final int basePrice = _quantity * _itemPrice; final double discountFactor; if (basePrice > 1000) discountFactor = …

5
Bagaimana cara menguji fungsi yang direactored ke pola strategi?
Jika saya memiliki fungsi dalam kode saya seperti: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Biasanya saya akan menolak ini untuk menggunakan Ploymorphism menggunakan kelas pabrik dan pola strategi: public string calculateTax(string name) { …

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.