Yazılım Mühendisliği

Sistem geliştirme yaşam döngüsü içinde çalışan profesyoneller, akademisyenler ve öğrenciler için soru-cevap


4
Agile geliştirmede kullanıcı arayüzü tasarımı ve ilgili özellik desteği ile nasıl başa çıkılır?
Çevik bir geliştirme sürecinde genellikle ana odak Kullanıcı hikayeleri üzerindedir, ancak bazen tek bir gereksinim birkaç kullanıcı hikayesine yayılabilir. Örneğin, istemci bir forumdaki tüm kullanıcılar için bir arama sayfası isteyebilir ve her kullanıcı üzerinde kullanıcı yasaklama, kullanıcı silme, Parolayı sıfırlama vb. Gibi çeşitli eylemler gerçekleştirilebilir. Bu özelliği en az 4 …

3
Bayt kodu dokuma vs Lisp makroları
Ben insanların intercept fonksiyon çağrıları, günlük kaydı kodu eklemek, vb gibi şeyler yapmak için bayt kodu dokuma kullanan Java ve C # gibi diller için yazmış kütüphaneler hakkında okuyordum Ayrıca bir Lisp / Clojure makroları üzerinde okudum onları nasıl kullanacağını daha iyi anlamaya çalışmak. Makrolar hakkında ne kadar çok okursam, …


3
Sıralaması / özellikleri değişebilen sayfalandırılmış sonuçları önbelleğe almak için en iyi uygulamalar nelerdir?
Sıralaması / özellikleri değiştirilebilen sayfalandırılmış arama sonuçlarını önbelleğe almak için en iyi uygulama hangisidir? Diyelim ki başvurumda birisi son 20 tartışma konusunu görmek istiyor (10.000 üzerinden). servletTartışma dizileri tablosundan ilk 20 kaydı XML / JSON olarak almak için veritabanına bir istek gönderilir . Daha sonra gelecek 20'yi görmek istiyorlarsa, sonuçların …


6
Hangi tasarımlar uygun tasarımla kolaylaştırılamayacak kadar büyük?
Bu oldukça belirsiz bir sorudur, ancak uygun tasarım hakkında okurken hiç tatmin edici bir şekilde cevaplanmadığını hissettiğim bir şeydir. Genellikle, Nesne Odaklı programlama, soyutlama, çarpanlara ayırma, vb., Tasarımın kutsal kâsesi - ve her zaman söz konusu geliştirme tekniklerini kullandığınızı iddia etmelerinin nedeni - programınızı "değiştirmeyi kolaylaştıracaktır" , "sürdürülebilir", "esnek" veya …


1
Kaynak kodunu yorumlamanın yazılım kalitesi, sürdürülebilirlik ve geliştirici verimliliği üzerindeki etkileri hakkında ampirik çalışmalar var mı? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu Yazılım Mühendisliği Yığın Değişimi için konuyla ilgili olacak şekilde güncelleyin . 6 yıl önce kapalı . Kaynak kodu ve yazılım ürünlerini belgelemenin savunucusuyum. Benim kişisel deneyimim ve gözlemlerim, titizlikle yorumlanan kaynak kodları üzerinde …

2
'Kod çarpıklığı' nedir?
Scala'daki O'Reilly kitabında, kodun kopyalanmasının şu şekilde yaratıldığını okudum: ... kod bloat, sürdürülebilirlik ve eğrilik sorunları oluşturur , Çarpıklık kelimesinin bağlamda açık bir tanımını göremiyorum. Kopya yapıştırma sorunlarının farkındayım, ancak onları 'eğriltme' kelimesine sığdıramıyorum. Bu bir O'Reilly kitabında kullanıldığından, dolaşımda gerçek bir programlama terimi olduğunu tahmin ediyorum. İşaretçi var mı?

6
Yinelemeli yöntemler siklomatik karmaşıklığı azaltır ve desteklenebilirliği artırır mı?
Java 8'de C #, JavaScript ve (umarım) gibi modern dillerde yaygın olarak bulunan yinelemeli yöntemler, siklomatik karmaşıklığın kodun anlaşılabilirliği ve desteklenebilirliği üzerindeki etkisini azaltır mı? Örneğin C # 'da şu kod bulunabilir: List<String> filteredList = new List<String>(); foreach (String s in originalList){ if (matches(s)){ filteredList.add(s); } } Bu 2'nin basit …

3
Bir sinir ağı “evet” veya “hayır” cevabından fazlasını sağlayabilir mi?
Okuduğum görüntü tanıma için her örnek sinir ağı basit bir "evet" veya "hayır" yanıtı üretir. Bir çıkış düğümü "Evet, bu bir insan yüzü" ve diğeri "Hayır, bu bir insan yüzü değil" anlamına gelir. Bunun açıklamanın basitliği için muhtemel olduğunu anlıyorum, ancak böyle bir sinir ağının daha spesifik bir çıktı vermek …

4
Komut deseni tasarımı
Komut modelinin bu eski uygulamasına sahibim. Bu, tüm DIOperation uygulaması boyunca bir Bağlamdan geçmektir , ancak daha sonra, öğrenme ve öğrenme sürecinde (asla durmaz), bunun optimal olmadığını fark ettim. Ben de burada "ziyaret" gerçekten uygun olmadığını ve sadece karışık olduğunu düşünüyorum. Aslında benim kodumu yeniden düzenlemeyi düşünüyorum, çünkü bir Komut …

5
Soyut veya sanal yöntemler kullanmalı mıyım?
Temel sınıfın saf bir arabirim sınıfı olmasını ve soyut veya sanal yöntem sınıfı tanımını kullanarak daha iyi bir yaklaşım olan aşağıdaki 2 örneği kullanmanın istenmediğini varsayarsak? "Soyut" versiyonun avantajı, muhtemelen daha temiz görünmesi ve türetilmiş sınıfı umut verici bir uygulama yapmaya zorlamasıdır. "Sanal" sürümün avantajı, diğer modüller tarafından kolayca çekilebilmesi …
11 c#  design 

2
Dairesel paket bağımlılıkları nasıl çözülür?
Sınıfların çoğu tek bir pakette bulunan büyük bir kod temeli refactoring. Daha iyi modülerlik için, her işlevsellik için alt paketler oluşturuyorum. Bir yere bir paket bağımlılık grafiğinin döngüler olmaması gerektiğini öğrendiğimi hatırlıyorum, ancak aşağıdaki sorunun nasıl çözüleceğini bilmiyorum: Figurepakette figure, Layoutpakette layout, Layoutdüzenin gerçekleştirilmesi için figür gerekiyor, bu yüzden paket …

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.