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


10
Sihirli Sayıları Silme: “Hayır” deme zamanı ne zaman?
Sihirli numaraların (kodlanmış değerler) programınızda, özellikle de yorum içermeyen bir kod bölümünü değiştirme zamanı geldiğinde, hasara yol açabileceğinin farkındayız, ancak çizgiyi nereye çiziyorsunuz? Örneğin, iki gün arasındaki saniye sayısını hesaplayan bir işleve sahipseniz, seconds = num_days * 24 * 60 * 60 ile seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR …

12
Kod yazma metodolojisindeki kademeli değişim sistem performansını etkiledi mi? Ve umursamalı mıyım?
TD; DR: Ne sorduğum konusunda bir karışıklık vardı, işte sorunun arkasındaki itici fikir: Her zaman soruyu ne olduğu gibi düşünürdüm. Aslen iyi ifade etmemiş olabilirim. Fakat niyet her zaman " modüler, ayrık, gevşek birleştirilmiş, ayrıştırılmış, yeniden yapılandırılmış kod " olmuştur ve " tek parça tek bir yerde her şeyi tek …

4
Bu tür yeniden düzenleme için terim nedir
Bir sonraki yeniden düzenleme işleminin bir dönemi olduğuna eminim, ancak hatırlayamıyorum ve Google-fu'm başarısız oluyor! Refactor ifadeleri en çok etkilenecekleri yerlere giderse hareket eder, örneğin bunu değiştirmek $test = someFunctionThatReturnsABool(); for($x = 0; $x < 10000; $x++) { if ($test) { echo $x; } } Buna $test = someFunctionThatReturnsABool(); if …

7
Bilinmeyen şekilde kopyalayan kodu nasıl önlerim?
Oldukça büyük bir kod tabanı üzerinde çalışıyorum. Yüzlerce sınıf, tonlarca farklı dosya, çok fazla işlevsellik, yeni bir kopyayı çekmek için 15 dakikadan fazla zaman alıyor. Bu kadar büyük bir kod tabanıyla ilgili büyük bir sorun, oldukça az sayıda yardımcı program yöntemine sahip olması ve aynı şeyi yapan gibi ya da …

8
“Değişkenler mümkün olan en küçük kapsamda yaşamalıdır”, “Mümkünse değişkenler olmamalı” durumunu içeriyor mu?
" Örnek değişkenleri yerine yerel değişkenleri tercih etmenin gerekçesi mi? " Üzerine kabul edilen cevaba göre değişkenler mümkün olan en küçük kapsamda yaşamalıdır. Sorunu yorumuma göre basitleştirin, bu tür bir kodu yeniden gözden geçirmemiz gerektiği anlamına gelir: public class Main { private A a; private B b; public ABResult getResult() …

10
“Çocuk x = yeni Çocuk ();” yerine “Üst x = yeni Çocuk ();”, ikincisini kullanabilirsek kötü bir uygulama mı?
Örneğin, bunun gibi bir parça oluşturan bazı kodlar görmüştüm: Fragment myFragment=new MyFragment(); bu bir değişkeni MyFragment yerine Fragment olarak bildirir, ki MyFragment bir Fragment alt sınıfıdır. Bu kod satırını karşılamam çünkü bu kodun olması gerektiğini düşünüyorum: MyFragment myFragment=new MyFragment(); Hangisi daha belirgin, bu doğru mu? Veya sorunun genelleştirmesinde, kullanımı kötü …

9
Refactor ne zaman
Fowler's Refactoring kitabının çoğunu okudum ve geçmişimdeki küçük ve büyük birçok uygulamayı yeniden inceledim. Öğretmek için bulduğum en zor şeylerden biri de refactor'a "zaman" dır. Bunu, geçmişte bana oldukça iyi hizmet eden bir içgüdüsel düşünceye dayanarak yapmaya meyilliyim. Ancak, şu anda bir kod parçasının tek başına mı bırakılması mı yoksa …

4
Sihirli dizelerin / sayıların kullanımı [kapalı]
Bu biraz tartışmalı bir konudur ve sanırım programcılar kadar çok fikir var. Ancak bunun uğruna, iş dünyasında (veya iş yerinizde) ortak uygulamaların ne olduğunu bilmek istiyorum. İş yerimde katı bir kodlama kurallarımız var. Bunun bir bölümü sihirli dizgelere / sayılara ayrılmıştır. (C # için) belirtir: Kodunda, sembolik sabitleri tanımlamak dışında, …

11
Küçük bir projeyi bir arkadaşımla ne zaman terk edeceğimi nasıl belirleyeceğim? [kapalı]
Geç kaldığım için kendimi zor bir noktada buldum. Neredeyse 8 aydır programlama arkadaşıyla bir oyun üzerinde çalışıyorum. İkimiz de geçen yılın Ağustos ayındaki programlamaya yeni başlayanlar olarak başladık, 2. sınıf CS öğrencisi, ticaretle ilgili bir BT destek teknisyeniyim ve çok sayıda kitap ve çevrimiçi aboneliği olan kendi kendine yeten bir …

6
Teknik borcunuzu nasıl karşıladığınızı gördünüz?
Teknik borçla ilgili bu yazının aşağıdakiler de dahil olmak üzere bazı iyi noktaları vardır: "Teknik meseleler" üzerinde çalışmak, hikayeler tarafından yönlendirildiğinde en iyi sonucu verir. Kod tabanının muhtemelen her yerde çalışmaya ihtiyacı vardır, ancak ödeme yalnızca kodun kullanıcının karşılaştığı nedenlerden dolayı çalışılacağı durumlarda alınacaktır. Herhangi bir küfür alanından hiçbir hikaye …

8
Yenileme yaparken birim testlerinizi nasıl sürdürüyorsunuz?
Başka bir soruda, TDD'ye bağlı ağrılardan birinin, test odasının yeniden yapılanma sırasında ve sonrasında kod tabanı ile senkronize kaldığı ortaya çıktı. Şimdi, yeniden yapılanmanın büyük bir hayranıyım. TDD yapmaktan vazgeçmeyeceğim. Ancak, küçük yeniden düzenleme işlemlerinin birçok test hatasına neden olacağı şekilde yazılmış testlerin problemlerini de yaşadım. Yeniden aktive olurken testleri …

6
Bayrakları kontrol etme ihtiyacını ortadan kaldırmak için bir tasarım deseni var mı?
Veritabanında bazı string loadload'ları biriktireceğim. İki global konfigürasyonum var: şifreleme sıkıştırma Bunlar konfigürasyon kullanılarak, her ikisinin de etkinleştirildiği veya her ikisinin de devre dışı bırakıldığı şekilde etkinleştirilebilir veya devre dışı bırakılabilir. Mevcut uygulamam şudur: if (encryptionEnable && !compressEnable) { encrypt(data); } else if (!encryptionEnable && compressEnable) { compress(data); } else …

6
Switch Tablolarını Yeniden Yönlendirmek ve Switch Statements için gerçek bir kullanım var mı?
Bu makaleyi okuyordum ve merak ediyordum, tüm anahtar ifadelerimden hiçbirini bir Sözlük veya Fabrika ile değiştirerek kurtuluyor muyuz, böylece projelerimde hiçbir anahtar ifadesi kalmıyor. Bir şey pek eklemedi. Sorun şudur: switch ifadelerinin herhangi bir gerçek kullanımı var mıdır yoksa devam edelim ve bunları bir sözlük veya fabrika yöntemiyle değiştirir miyiz? …

13
Dış davranışını değiştirmeden yeniden yapılanmayı ne kadar zorlayabilirim?
Martin Fowler’a göre , kod yeniden düzenleme işlemi şu şekildedir: Yeniden düzenleme, mevcut davranış kodunu yeniden yapılandırmak , dış yapısını değiştirmeksizin iç yapısını değiştiren disiplinli bir tekniktir . Kalbi, dönüşümleri koruyan bir dizi küçük davranış. Her dönüşüm (“yeniden düzenleme” olarak adlandırılır) çok az şey yapar, ancak bir dizi dönüşüm önemli …

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.