«refactoring» etiketlenmiş sorular

Yeniden düzenleme, mevcut bir kod gövdesini yeniden yapılandırmaya yönelik, dış davranışını değiştirmeden iç yapısını değiştiren disiplinli bir tekniktir.

3
Bir kod koruyucunun rolünü nasıl çözersiniz? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

3
Otomasyon yazılımı oluşturmak için girdi dosyalarını (Makefiles, SConstruct, CMakeLists.txt vb.) Düzenlemenin iyi yolları nelerdir?
Kodumla yapmak istediğim bir şey, yönetilebilir parçalara dönüştürüldüğünden emin olmak. Ancak, yazılımı oluşturmak söz konusu olduğunda, hangi son otomasyon yazılımını kullandığımı (son zamanlarda GNU Make veya SCons oldu) tam bir karışıklık haline getirdiğini görüyorum. Giriş dosyaları, kolay yeniden düzenlemeye meydan okuyan uzun komut dosyalarına benziyor. Onları bir şekilde yeniden düzenleyebilmek …

7
Yeniden kodlamayı büyük bir kod tabanı ve birçok geliştirici ile nasıl yönetiyorsunuz?
Muhtemelen bir tür bir araç, belki bir Eclipse eklentisi kullanarak iki geliştiricinin aynı kodu ilk önce konuşmadan aynı anda yeniden düzenlediği bir durumu önlemek istiyorum. Yardım edebilir misin? 4.5 milyon kod satırımız ve dört kıtada 20'den fazla geliştirici ekibimiz var. İdeal olarak, daha önce bahsedilen geliştiricilerin ikisinin, başka birinin aynı …

5
Yeniden düzenleme nedeniyle birleştirme çakışmalarını çözme
Son zamanlarda genel olarak yeniden düzenlemenin nasıl ele alınacağı üzerine bir tartışmaya girdim (bu ilginç bir konudur). Sonunda şu soru gündeme geldi: Birisi aynı kod parçası için bir özellik üzerinde çalışırken, birinin kodun bir kısmını yeniden düzenleme yaptığı için oluşan çatışmalar nasıl ele alınır? Temel olarak, bununla etkili bir şekilde …

7
Ezici kodu yönetilebilir parçalara ayırmanın en iyi yolu?
Belli bir karmaşıklık seviyesine ulaştıklarında, büyük projeler tarafından sürekli bunalıyorum. Bir projede belirli bir noktaya geldiğimde, ilerlemem yavaş yavaş ilerler ve kendimi sürekli adımımı geri çekerken ve her türlü karışıklığı çözerken bulurum. Bu zayıflığım nedeniyle yeniden düzenleme konusunda gerçekten iyi oldum. Ve her zaman nesnelerimi daha küçük, daha yönetilebilir olanlara …

5
Kaliteyi iyileştirme umuduyla mini-refactor kodunu faydalı mıdır, yoksa çok fazla faydası olmadan sadece “kodu hareket ettirmek” midir?
Misal Tek bir yerde "her şeyi" yapan monolitik kodla karşılaştım - veritabanından veri yükleme, HTML işaretlemesi gösterme, yönlendirici / denetleyici / eylem gibi davranma. SRP hareketli veritabanı kodunu kendi dosyasına uygulamaya başladım, işler için daha iyi adlandırma sağladım ve hepsi iyi görünüyordu, ama sonra neden bunu yaptığım konusunda şüphelerim var. …

4
Bağımlılık enjeksiyonunun tersini göstermek için teknik terim?
Bu sadece teknik bir sorudan ziyade bir isimlendirmedir (teknik yazı). Uygulamamızda bağımlılık enjeksiyonunu genişletmeye odaklanmış bir yeniden düzenleme teklifi yazmaya çalışıyorum (ve kendime atandım). Bu tür kullanımın yapmak ederken Bahar fasulye Autowiring için, örneğini fasulye kullanarak o örneklerini hala var MyClass obj = new MyClass(...)tamamen enjekte edilebilir. Teklifimin zarif terminolojiyi …

7
Kod yazdıktan sonra neden bir süre sonra “daha ​​iyi yazardım” diye hissediyorum? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 8 yıl önce kapalı . …

7
Yeniden düzenleme ve Açık / Kapalı prensibi
Son zamanlarda temiz kod geliştirme hakkında bir web sitesi okuyor (İngilizce olmadığı için buraya bir bağlantı koymayın). Bu site tarafından ilan edilen ilkelerden biri Açık Kapalı Prensiptir : her yazılım bileşeni genişletme için açık ve modifikasyon için kapalı olmalıdır. Örneğin, biz uygulanacak ve bir sınıf test ettik, biz sadece hataları …

2
Eski, düz bir C projesine birim testleri ekleme
Başlık her şeyi söylüyor. Şirketim, tamamen C harfiyle yazılmış bir mikrodenetleyici cihaz için eski bir ürün yazılımı projesini yeniden kullanıyor. Açıkça yanlış olan ve değiştirilmesi gereken parçalar var ve bir C # / TDD arka planından geliyor, işlevselliğin değişmeden kalmasını sağlamak için hiçbir test yapmadan rastgele yeniden düzenleme fikrini sevmiyorum. …


4
Bir Özellik Dalında Çalışırken Kod Kalitesini Artırırsanız
Kod / kamp sitesini bulduğunuzdan daha güzel bir durumda bırakmakla ilgili bu makaleyi gerçekten çok seviyorum - kod temizliğini takip etmek gerçek dünyada pratik bir yaklaşım gibi görünüyor. Ayrıca özellik dallarını ayrı ayrı özellikleri geliştirmenin bir yolu olarak seviyorum , böylece hoşunuza gitmezse kolayca birleştiremezsiniz. Ancak, bir özellik dalı üzerinde …

2
Yeniden düzenleme yorumlarıyla kod yaymak iyi bir fikir midir?
Bir "spagetti-code" projesi üzerinde çalışıyorum ve hataları giderirken ve yeni özellikler uygularken, kod birim test edilebilir hale getirmek için bazı yeniden düzenleme yapmak. Kod genellikle o kadar sıkı bağlanır veya karmaşıktır ki, küçük bir hatayı düzeltmek birçok sınıfın yeniden yazılmasına neden olur. Bu yüzden yeniden düzenlemeyi bıraktığım kodda bir yere …

5
Kod tekrarı ve çoklu sorumlu yöntem
Tek Sorumluluk İlkesini (SRP) izlemeye ve Kod Tekrarlarını atlamaya çalışıyorum. Bununla birlikte, genellikle kod tekrarlamalarının, en azından anlamlı bir yöntem olarak ayıklanmaya dirençli invokasyon blok bloklarından başka bir şey olmayan yerler vardır: DoAction1(); DoAction2(); if (value) DoAction3(); DoAction4(); Bu kodu bir yönteme çıkarmanın en iyi yolu nedir ve nasıl adlandırılır?


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.