«clean-code» etiketlenmiş sorular

"Temiz kod" terimi, kısa, anlaşılması kolay ve programcının amacını açıkça ifade eden bilgisayar programlama kodunu tanımlamak için kullanılır. Bu etikete sahip sorular, temiz kod yazma veya eski "kirli" kodu temiz kod olarak yeniden düzenleme işlemiyle ilgilidir.

8
Gelen bir parametrenin değiştirilmesi antipattern midir? [kapalı]
Java ile programlama yapıyorum ve her zaman şöyle dönüştürücüler yaparım: public OtherObject MyObject2OtherObject(MyObject mo){ ... Do the conversion return otherObject; } Yeni işyerinde kalıp: public void MyObject2OtherObject(MyObject mo, OtherObject oo){ ... Do the conversion } Benim için gelen parametreleri değiştirmemeye alışkın olduğum için biraz koklamak. Bu gelen parametre değişikliği bir …


14
Bir fonksiyondaki parametreleri sipariş etmek için en iyi uygulama nedir?
Bazen (nadiren), makul miktarda parametre alan bir işlev yaratmanın en iyi yol olduğu görülmektedir. Ancak, yaptığım zaman, sık sık parametrelerin sıralamasını rastgele seçtiğimi hissediyorum. Genelde en önemli parametre olan ilk önce "önem sırasına" bakarım. Bunu yapmanın daha iyi bir yolu var mı? Netliği artıran parametreleri sipariş etmenin "en iyi uygulama" …


20
“Veri Yolu Faktörü” nü arttırmak için iyi belgeler yazmalı ve temiz kod yazmalı mıyım?
Yazılım geliştirme şirketlerinin ana hedeflerinden biri, Otobüs faktörlerini arttırmaktır. Bu aynı zamanda Google tarafından düzenlenen bir konuşmada savunulmaktadır . Bu, her şeyi yarın otobüsle geçerseniz, projenin devam edebileceği şekilde kodlayıp belgelemeniz gerektiği anlamına gelir. Başka bir deyişle, kendinize benzer bir beceri ile başka bir programcı tarafından kolayca değiştirilebilir olmalısınız. Değiştirilebilir …

8
Neden fonksiyon isimlerindeki argümanların isimlerini kodlamak daha yaygın değil? [kapalı]
Gelen Temiz Kanunu yazar bir örnek verir assertExpectedEqualsActual(expected, actual) vs assertEquals(expected, actual) eski ile daha net olduğu iddia edildi, çünkü iddiaların nereye gittiğini hatırlama ihtiyacını ortadan kaldırıyor ve ondan gelen potansiyel suiistimali ortadan kaldırıyor. Yine de, herhangi bir kodda eski isimlendirme şemasının bir örneğini hiç görmedim ve ikincisini her zaman …
47 clean-code 

13
Bob Amca'nın Temiz Kod ilkelerine uyması durumunda ifadeler zincirini nasıl düzenlerim?
Bob Amca'nın temiz kod önerilerini takip etmeye ve özellikle yöntemleri kısa tutmaya çalışıyorum. Ancak kendimi bu mantığı kısaltamıyor buluyorum: if (checkCondition()) {addAlert(1);} else if (checkCondition2()) {addAlert(2);} else if (checkCondition3()) {addAlert(3);} else if (checkCondition4()) {addAlert(4);} Kabloları çıkaramıyorum ve bu yüzden her şeyi daha küçük parçalara ayıracağım, "başkası" nda "başkası" nın performansa …

3
Bob Amca'nın temiz mimarisi - Her katman için bir varlık / model sınıfı?
ARKA FON : Bob Amca'nın temiz mimarisini android uygulamamda kullanmaya çalışıyorum. Doğru yolu göstermeye çalışan birçok açık kaynaklı proje okudum ve RxAndroid'e dayalı ilginç bir uygulama buldum. Farkettim: Her katmanda (sunum, etki alanı ve veri), aynı varlık için bir model sınıfı var (UML konuşuyor). Artı, veriler sınırları geçerken (katmandan diğerine) …

8
IF ifadesini ters çevirme
Bu yüzden birkaç yıldır programlama yapıyorum ve son zamanlarda ReSharper'ı daha fazla kullanmaya başladım. ReSharper'ın bana her zaman önerdiği bir şey "iç içe geçirmeyi azaltmak için" ifadesini "tersine çevirmektir". Diyelim ki bu kod bende: foreach (someObject in someObjectList) { if(someObject != null) { someOtherObject = someObject.SomeProperty; } } Ve ReSharper …

14
Sıkı bir son tarih ile karşı karşıya kalındığında başkasının kodunu temizlemek ne kadar önemlidir? [kapalı]
(HTML / CSS kodundan bahsediyorum (programlama dilleri değil) ancak programcılarla aynı sorunla karşı karşıya olduğumuzu düşünüyorum.) Bir ekibin üst düzey ön tasarımcısıyım ve sık sık gençlerin çıktılarını sıkı teslim tarihlerinde yeniden çalışmak zorunda kalıyorum. 2 sorunla karşılaştım: Kodlama stilleri biraz karışıklık yaratıyor. Estetik iyi değil. Kodlama stilleri, bulduğum gibi, uygun …

5
Kimlik veya Nesne Geçiş?
Bir etki alanı varlığı elde etmek için bir iş mantığı yöntemi sağlarken, parametre bir nesneyi mi yoksa bir kimliği mi kabul etmeli? Örneğin, şunu yapmalı mıyız: public Foo GetItem(int id) {} veya bu: public Foo GetItem(Foo foo) {} Nesnelerin etrafından dolaşmalarına, bütünlüklerine inanıyorum, peki ya bu nesneyi elde ettiğimiz ve …

14
“Güzel görünme” kodunu takma saplantısının bir faydası var mı?
Bazen kodun "güzel görünmesini" sağlamak için acı çekerek çok fazla zaman harcıyorum. Demek istediğim şeyleri simetrik gösteriyor. Aslında bir şeyin "güzel" ya da "temiz" görünmediği gibi atlayıp atılmadığını görmek için hızlıca bütün bir sınıf içinde ilerleyeceğim. Vaktimi boşa mı harcıyorum? Bu tür davranışlarda herhangi bir değer var mı? Bazen kodun …
34 clean-code 

6
Bloktaki ek satır - Temiz Koddaki ek parametre
bağlam In Temiz Kod , sayfa 35, diyor Bu, if ifadelerindeki blokların, başka ifadelerin, while ifadelerinin vb. Bir satır uzunluğunda olması gerektiği anlamına gelir. Muhtemelen bu hat bir işlev çağrısı olmalıdır. Bu sadece çevreleyen işlevi küçük tutmakla kalmaz, aynı zamanda belgesel değeri de ekler çünkü blok içinde çağırılan işlev güzel …
33 clean-code  solid 

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 …

7
Bir bayrak daha sonra kullanmak için bir döngü içinde bir bayrak ayarlamak için bir kod kokusu mu?
Bir haritayı belirli bir koşul doğru oluncaya kadar tekrar eden ve daha sonra başka şeyler yapmak için bu koşulu kullandığımda bir kod parçam var. Örnek: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { limitFlag = …

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.