«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.

6
TDD kullanılırken bir işlev veya özellik nasıl kaldırılır
TDD hakkındaki metinlerde sık sık yeniden düzenleme adımı sırasında "çoğaltmayı kaldır" veya "okunabilirliği geliştir" hakkında okudum. Ama kullanılmayan bir işlevi kaldırmamı sağlayan nedir? Örneğin en sınıfı olduğunu varsayalım Cyöntemlerle a()ve b(). Şimdi bir yönteme f()sahip olmanın iyi olacağını düşünüyorum C. Aslında, f()tüm çağrıları b(), tanımlanan / tanımlanan ünite testleri dışında …

3
TDD ve Yeniden Düzenleme ile ilgili Zorluklar (Veya - Neden Olması Gerekenden Daha Acı Verir?)
Kendime TDD yaklaşımını kullanmayı öğretmek istedim ve bir süredir üzerinde çalışmak istediğim bir projem vardı. Büyük bir proje değildi, bu yüzden TDD için iyi bir aday olacağını düşündüm. Ancak, bir şey ters gitti gibi hissediyorum. Bir örnek vereyim: Üst düzeyde projem, Microsoft OneNote için Projeleri daha kolay izlememe ve yönetmeme …

8
Gelişirken iş arkadaşlarınızla uğraşmak, tavsiyeye ihtiyaç duyar [kapalı]
Burada ne sorulduğunu söylemek zor. Bu soru belirsiz, belirsiz, eksik, aşırı geniş veya retoriktir ve mevcut haliyle makul bir şekilde cevaplanamaz. Bu sorunun yeniden açılabilmesi için açıklığa kavuşturulması konusunda yardım için yardım merkezini ziyaret edin . 8 yıl önce kapalı . Mevcut proje mimarimizi geliştirdim ve kendi başıma geliştirmeye başladım …

3
Monolitten mikro hizmetlere geçerken yabancı anahtar kısıtlamaları nasıl ele alınır?
Ekibim monolitik bir ASP.NET uygulamasından .NET Core ve Kubernetes'e geçiş yapıyor. Kod değişiklikleri beklendiği gibi gidiyor gibi görünüyor, ancak ekibimin çok fazla anlaşmazlık yaşadığı yerlerde veritabanı etrafında. Şu anda tüm işimiz için tüm verileri barındıran oldukça büyük bir SQL Server veritabanına sahibiz. Ben veritabanı bir (mantıksal) veritabanında katalog verileri, başka …


6
Diğerleri hızla buna bağlıyken bir kod tabanını nasıl yeniden düzenleyebilirim?
Sonunda açık kaynak olacak özel bir projedeyim. Uygulama oluşturma teknolojileriyle yeteri kadar yetenekli birkaç ekip üyemiz var, ancak temiz / güzel ve en önemlisi uzun vadeli sürdürülebilir kod yazabilen özel geliştiriciler değil. Ben kod tabanı yeniden düzenleme için yola çıktık, ama başka bir ülkede takımda biri olarak düzenli temas halinde …

7
% 80'den fazla değişiklik yaparsam sınıf dosyasındaki yazar adını değiştirmeli miyim?
Otomatik kullanıcı arayüzü testleri için mevcut java test sınıfları setini yeniden düzenliyorum. Bazen sınıf dosyasında büyük değişiklikler yapmak ya da tamamen yenilemek sonunda. Bu bana tüm sınıfı yeniden yazdığımda yorum bölümündeki yazar adını benim olarak değiştirmem gerektiğini düşündürüyor. Açgözlü müyüm? yoksa birinin ismimi görmesi ve şüpheler olması durumunda bana sorması …

6
Kendini belgeleyen kod mu Javadocs mu?
Son zamanlarda şu anda uğraştığım kod tabanının parçalarını yeniden düzenleme üzerinde çalışıyorum - sadece kendimi daha iyi anlamak için değil, aynı zamanda kod üzerinde çalışan diğerleri için de daha kolay hale getirmek için. Kendini belgeleyen kodun güzel olduğunu düşünmeye eğilimliyim . Sadece daha temiz olduğunu düşünüyorum ve kod kendisi için …

7
Kod yeniden düzenleme zamanı nasıl gerekçelendirilir?
Çok büyük bir projeniz var. Proje kesinlikle Core Framework ve diğer bölümlerde bazı kod yeniden düzenleme işlemlerine ihtiyaç duyuyor. Projenin başlangıcında yeniden düzenleme için belirlenen zaman yoktu. Ancak zamanla ve 40'tan fazla geliştirici ortaklaştı ve projeden ayrıldı. Benim açımdan vazgeçilmez. Uygun bir yazılım geliştirme prensibini savunmak ve savunmak için kilit …

3
İhtiyaçları beklerken özensiz kodun düşük etkili yeniden düzenleme ve kod temizliği
Açıkça anlaşılır bir ürün için mevcut bir kod tabanını miras aldım. Temel tasarım ne yazık ki tam bir refaktör (YÜKSEK kuplaj, DÜŞÜK kohezyon, kodun yaygın bir şekilde çoğaltılması, teknik tasarım belgeleri, birim testleri yerine entegrasyon testleri olmadan) hakkında çok az şey yapabileceğim için yetersiz kalıyor. Ürünün geçmişi, riske en az …

8
Başka birinin yeniden düzenleme sorunu var mı? [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 . 6 yıl önce kapalı . …

6
Numaralandırmalar ne zaman bir kod kokusu DEĞİLDİR?
İkilem Nesneye yönelik uygulamalar hakkında birçok iyi uygulama kitabı okudum ve okuduğum hemen hemen her kitabın, numaraların kod kokusu olduğunu söyledikleri bir parçası vardı. Sanırım sayılar geçerli olduğunda açıkladıkları kısmı kaçırmışlar. Gibi, enums bir kod kokusu DEĞİL ve aslında geçerli bir yapı DEĞİL yönergeleri ve / veya kullanım durumları arıyorum …

5
Aşırı yöntem aşırı yüklemesi nasıl önlenir?
Uygulamamızın kaynak kodunda, bir sınıfın aynı adlara ve farklı parametrelere sahip birçok yöntemi olduğu oldukça fazla yerimiz var. Bu yöntemler her zaman bir 'önceki' yöntemin artı bir tane daha parametresine sahiptir. Bu uzun evrimin (eski kod) ve bu düşüncenin (inanıyorum) bir sonucudur: " A şeyi yapan bir M yöntemi var. …

1
Üçüncülük Kuralı'nda üçüncü defaya kadar beklemek gerek mi?
Ben sadece wikipedia'da " Üç Kural " makalesine rastladım Üçüncüsü, çoğaltılan bir kod parçasının ne zaman yeni bir yordamla değiştirileceğine karar vermek için bir kod yeniden düzenleme kuralını belirtir. Kodun bir kez kopyalanabileceğini, ancak aynı kod üç kez kullanıldığında, yeni bir prosedüre çıkarılması gerektiğini belirtir. Kural, Yeniden Düzenleme'de Martin Fowler …

9
Yapıcı veya ayarlayıcı yöntemi kullanılsın mı?
Ben bir Actionsınıf, böyle bir şey var bir UI kodu üzerinde çalışıyorum - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Bu Action sınıfı oluşturulduğunda, Actionsınıfın özelleştirilemeyeceği varsayılmıştır (bir anlamda - metni, araç ipucu veya görüntüsü kodun hiçbir …

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.