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
Altın kaplamanın durdurulması ve sadece çalışma gelişmelerinin serbest bırakılmasından memnun olunma [kapalı]
Üyesi olduğum geliştirme ekibi yakın zamanda Çevik uygulamalara göre çalışmaya adapte oldu. Bu, kişisel olarak, altın kaplama kodunu (ve dokümantasyonu) kendimi durduramayacağımı ve sonuç olarak gereklilikleri daha önce karşılayan çözümler sunabildiğimde orijinal tahminleri aştığımı vurguladı. Etikimin, koduma çok fazla bağlı kalmamın ve nadiren serbest bırakılmadan ve ilk dereceye kadar mükemmelleşmeden …

11
Arabirimi temel sınıfla aynı dosyada bildirmek iyi bir pratik mi?
Değiştirilebilir ve test edilebilir olmak için normalde mantıkla hizmetlerin bir arayüze sahip olması gerekir, örneğin public class FooService: IFooService { ... } Tasarım açısından buna katılıyorum, ama bu yaklaşımla beni rahatsız eden şeylerden biri, bir hizmet için iki şeyi (sınıf ve arayüz) ve ekibimizde normalde iki dosya (bir dosya) bildirmeniz …

1
Bir belgeyi vs ilişkisel vs grafik veritabanı ne zaman kullanmalısınız? [kapalı]
Tartışma amaçları için bir FourSquare senaryosu düşünelim. senaryo varlık sayısı: Kullanıcılar Yerler İlişkiler: Checkin'ler: kullanıcılar <-> yerler, çoktan çoğa yerler Arkadaşlar: Kullanıcılar <-> Kullanıcılar, Çoktan Çok Veri tabanı tasarımı Bunların büyük olasılıkla hataları olacak, lütfen belirtin. RDBMS Tablolar: Kullanıcılar Yerler Checkin (kavşak) Arkadaşlar (kavşak) Artıları: CAP: tutarlılık, kullanılabilirlik Eksileri: CAP: …

12
Bir sınıf neden “soyut” veya “final / mühürlü” den başka bir şey olsun?
10+ yıllık java / c # programlamasından sonra kendimi yaratırken buluyorum: soyut sınıflar : sözleşme olduğu gibi başlatılmak için tasarlanmamıştır. son / mühürlü sınıflar : Uygulama, başka bir şeye temel sınıf olarak hizmet etme amaçlı değildir. Basit bir "sınıf" ın (yani ne soyut ne de son / mühürlü) "akıllıca programlama" …

3
Bir monad görmenin farklı yolları
Haskell'i öğrenirken, Monad'ın ne olduğunu ve Haskell'de neden monadların önemli olduğunu açıklamaya çalışan birçok dersle karşılaştım. Her biri analojiyi kullandı, bu yüzden anlamı yakalamak daha kolaydı. Günün sonunda, bir monadın ne olduğuna dair 3 değişik görüş ortaya çıktı: 1 görüntüle: Monad bir etiket olarak Bazen bir monadın belirli bir tip …

6
İşlevselliğe belirli işlevler çıkarmalı mıyım ve neden?
Her biri ayrı bir işleve çıkartılabilen 3 görev yapan büyük bir yöntemim var. Bu görevlerin her biri için ek işlevler yaparsam kodumu daha iyi veya daha kötü duruma getirir mi ve neden? Açıkçası, ana işlevde daha az kod satırı yapacaktır, ancak ek işlev bildirimleri olacak, bu yüzden sınıfımın iyi olmadığına …

3
Açık kaynak kodlu bir projeyi “devralma” hakkında nasıl gidersiniz?
İlgilendiğim ve düzenli olarak kullandığım açık kaynaklı bir proje var. Apache License 2.0 kapsamında lisanslanmıştır ve temelde artık etkinliği yoktur. Google Kodunda barındırılıyor ve geliştirmeye devam etmek istiyorum. Açık kaynaklı süreçte yeniyim ve bunun için uygun yolu bulmaya çalışıyorum. Kontrol edip github'a itebilir miyim, böylece açıktaki gelişimine devam edebilirim? Önce …

8
CI araçlarıyla süreç çalıştırmak mantıklı mıdır?
Benim şirketimde, yıllarca süren hızlı gelişim ve müteakip ihmal sonucunda, işlerimizi çalışır halde tutan süreçlerimizi (birden fazla sistemde) ve farklı cron işlerine dair bir bataklığa sahibiz. Bir gün, bariz nedenlerden dolayı daha merkezi bir çözüm bulmamız gerekecek. Etrafta dolaştığımız bir düşünce, Sürekli Entegrasyon yazılımımızı (Jenkins) mantıklı görünen bu işlemleri yürütmek …

9
Arabirim adlandırma: önek 'Can-' vs sonek '-Able'
'-Able' ifadesini arayüzler için sonek olarak kullanmak yaygındır; Sıralanabilir Yazdırılabilir Numaralandırılabilir İçilebilir Atılabilir Döndürülebilir 'Can-''ın daha iyi olabileceğini düşünüyordum çünkü daha açıklayıcı olabilir. Evet, daha çok endişe verici ve arayüz adına ses ekliyor. Özellikle pasif fiiller kullanılabilir. Örneğin 1 , Shootable, nesnenin ateş edebileceği anlamına gelir (bir silah bunu uygulayabilir) …
29 api  interfaces 

6
Birim testinde beklenen sonuçların kodlanması gerekir mi?
Bir birim testin beklenen sonuçları kodlanmış mı yoksa başlangıç ​​durumuna getirilmiş değişkenlere bağlı mı olabilir? Kodlanmış veya hesaplanmış sonuçlar birim testine hata verme riskini arttırır mı? Göz önünde bulundurmadığım başka faktörler var mı? Örneğin, bu ikisinden hangisi daha güvenilir bir formattır? [TestMethod] public void GetPath_Hardcoded() { MyClass target = new …
29 c#  unit-testing 

3
Varlık Çerçeve Kodu İlk önce üretimde biraz anlamsız / işe yaramaz mı ve üretim için iyi bir EF stratejisi nedir?
Son zamanlarda Entity Framework 4.1 Kodu ile programlama yapıyorum. Öncelikle geliştirilmeyi seviyorum, ancak yalnızca bir son plan ve hızla değişen bir özellik listesiyle, Sınıf / Veritabanını uygulama gereksinimlerini karşılayacak şekilde sürekli olarak değiştiriyorum. Geliştirme aşamasında, canlı veri yok ve tüm veritabanını kolayca silebiliyorum, böylece yeni şema ile yeniden oluşturulabiliyor, ancak …



14
Zengin kod biçimlendirme neden daha yaygın değil?
Code Complete'i okuyordum ve mizanpaj ve stil bölümünde, kod editörlerinin bir çeşit zengin metin biçimlendirmesi kullanacağını tahmin ediyordu. Bunun gibi görünen kod yerine Procedure ResolveCollisions { Performs a posteriori collision resolution through spatial partitioning algoritm } ( CurrentMap : SpriteContext, PotentialColliders: SpriteList ) var Collider : Sprite, Collidee : Sprite, …

10
By-Design “Bugs” Kötü Bir İşaret midir?
Kullanıcılar, tasarım gereği işler için hata raporları gönderirse, bu kötü bir işaret midir? Bu, uygulamanın kafa karıştırıcı veya net olmadığı anlamına mı geliyor, yoksa özellikle belirtilmediği sürece, bunu yalnızca bir defalık kullanıcı hatası ile mi düzeltmeliyim? (Aslında böyle bir raporum yok. Bu, yanlı tasarım "hataların" kötü bir şey olup olmadığına …
29 bug  users 

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.