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
ortam bağlamı ve yapıcı enjeksiyonu
ISessionContext veritabanı, günlük için ILogManager ve başka bir hizmet ile iletişim için kullanılan IService gerektiren birçok çekirdek sınıf var. Tüm çekirdek sınıflar tarafından kullanılan bu sınıf için bağımlılık enjeksiyonu kullanmak istiyorum. İki olası uygulamam var. IAmbientContext'i üç sınıfın tümü ile kabul eden veya tüm sınıf için üç sınıfın enjekte ettiği …

3
El ile birim testleri yazmak Örnekle Kanıt mı?
JUnit testleri yazmanın, kodunuz aracılığıyla belirli bir yolu gösterdiğini biliyoruz . Ortaklarımdan biri yorum yaptı: Ünite testlerini manuel olarak yazmak Örnek ile Kanıttır . Quickcheck gibi araçlara ve türlerle program davranışı hakkında akıl yürütme yeteneğine sahip Haskell'in arka planından geliyordu . Onun anlamı, kodunuzun test edilmediği bu yöntemle denenmemiş çok …


2
Dynamic_cast kullanımını önlemek için uygun tasarım?
Bazı araştırmalar yaptıktan sonra sık karşılaştığım bir sorunu çözen basit bir örnek bulamıyorum. Diyelim ki Square, s, Circles ve diğer şekilleri oluşturabildiğim, bir ekranda görüntüleyebildiğim, seçtikten sonra özelliklerini değiştirebildiğim ve ardından tüm çevrelerini hesaplayabildiğim küçük bir uygulama oluşturmak istiyorum . Model sınıfını şöyle yaparım: class AbstractShape { public : typedef …

2
Hangi veriler `` Talep '' olarak saklanmalıdır?
ASP.Net Core'da Claimsyetkilendirmenin çok somut olmayan bir yöntem olduğunu düşünüyorum. Bir şey ekleyebilir ClaimTypeve eşleyebiliriz ClaimValue; gruplar, ad, soyad, brithdate, canAccessThisURI, isEditor, vb. Ancak, bu yaklaşım (talep olarak saklanabilecek her şeyi saklamak), uygulama verilerimin% 50'sini içeren büyük bir talep tablosu oluşturacaktır. Merak ediyorum, iyi bir uygulama olarak, iddia olarak saklanması …

1
Desenler yapı taşları değildir - bu yüzden MVC / MVP desenleri üzerinde bir uygulama oluşturmamalıyım?
Bu sayfayı tasarım modelleri ve kodunuzu yazarken nasıl ele almanız gerektiği hakkında okudum . Anladığım kadarıyla, bağlantıdaki başlığın belirttiği gibi: Desenler yapı taşları değildir. Doğru anlarsam, bu bir tasarım deseni kullanmanın mantıklı olana kadar kullanılmaması anlamına gelir, değil mi? Strateji Desenini kullanacağınızı söylemeye başlamayın, bir kod yazana kadar bekleyin ve …


7
Derslerimi çok ayrıntılı mı yapıyorum? Tek Sorumluluk İlkesi nasıl uygulanmalıdır?
Üç temel adım içeren bir sürü kod yazıyorum. Bir yerden veri alın. Bu verileri dönüştürün. Bu verileri bir yere koyun. Tipik olarak, kendi tasarım modellerinden esinlenerek üç tip sınıf kullanıyorum. Fabrikalar - bazı kaynaklardan nesne oluşturmak için. Arabulucular - fabrikayı kullanmak, dönüşümü gerçekleştirmek, sonra komutanı kullanmak. Komutanlar - bu verileri …

3
“Serbest fonksiyonlar” ı temiz bir şekilde işlemek için C # deseni, Yardımcı tarzı “yardımcı torba” statik sınıflarından kaçınmak
Son zamanlarda birlikte çalıştığım bazı büyük C # kod tabanları etrafında yüzen birkaç Yardımcı tarzı "yarar çanta" statik sınıfları inceliyordu, temelde aşağıdaki çok yoğun snippet gibi şeyler: // Helpers.cs public static class Helpers { public static void DoSomething() {} public static void DoSomethingElse() {} } İncelediğim belirli yöntemler çoğunlukla birbiriyle …

6
Birim testleri yalnızca 'işlevsel' yazılımı kapsamalı mı
Biz kullandığınız StructureMap yeni bir yazılım geliştirme projesinde. Ekip üyelerinden biri, temel olarak StructureMap konteyner yapılandırmasını test eden bir birim testi uyguladı . Bunu aşağıdakileri yaparak yapar; Uygulama ad alanımızdaki sınıflar için yapılandırılmış derleme örneği sayısını sayar. Sınıf düzeyinde beklenen örnekleri tanımlar Beklenen örneklerin toplam bulunan örneklerle eşleştiğini iddia eder. …

3
Bir dosyanın başlangıcında yalnızca sonunda bildiğiniz bir şeyi yazma
Arka plan: EBML dosyası yazmak için mikro kontrolör C kodu yazıyorum. EBML, iç içe öğelere sahip bir ikili XML gibidir, ancak başlangıç ​​ve bitiş etiketleri yerine bir başlangıç ​​kimliği, uzunluğu ve ardından veriler vardır. Bunu düşük güçlü bir uygulamada harici Flash'a yazıyorum, bu yüzden flaş erişimini minimumda tutmak istiyorum. Bellek …

3
Davranış Odaklı Gelişim doğal diller belirsiz olduğunda netliği nasıl geliştirir?
Şu anda salatalık gibi BDD test çerçevelerini araştırıyorum ve insanlar dediğinde merak ediyorum özellik dosyaları basit doğal dilde olduğundan netliği artırır ve net bir görüş sağlar ama doğal dil, yazılım mühendisliğindeki sorunların çoğunun nedeni değil midir? Doğal dil belirsizdir ve müşterilerin gereksinimlerinin yanlış anlaşılması ve geliştiricinin anlayışı nedeniyle birçok yazılım …
9 bdd  cucumber 

4
Etki alanı merkezli karmaşık bir uygulamada temel CRUD işlemlerine DDD yaklaşımı
Şirketim web uygulamamızı sıfırdan yeniden yazıyor. Finans sektöründe karmaşık bir alana sahip büyük bir kurumsal düzeyde uygulamadır. Kalıcılık için ORM (Varlık çerçevesi) kullanıyoruz. Temel olarak, uygulamalarımızın yarısı kullanıcıdan ham veri toplama, depolama ve ardından gerçek alan mantığımızın çoğunu içeren uygulamanın diğer yarısı, bu orijinal verilerden, orijinalinden çok farklı olan alan …


1
Bir projedeki birim dışı testler nasıl yönetilir?
Projemde şahsen çağırdığım testsve birim testleri olmayan bazı kodlar var . Çalıştırılmalı ve sonuç bir insan tarafından değerlendirilmelidir. Bunu yaptım çünkü fizik motoru yapıyorum ve gelişim sırasında ne yaptığımı görmem gerekiyordu. Bu yüzden simulationtest modülümde bir paket yaptım . Simülasyonlar birim test kitaplığını kullandığından teknik olarak birim testlerdir, ancak hepsini …

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.