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

3
Görüntü mozaikleri yapmak için algoritmalar - bundan daha hızlı bir yol var mı?
Görüntü mozaikleri yapmakla oynuyorum. Betiğim çok sayıda resim alır, küçük resim boyutuna ölçeklendirir ve ardından bir hedef görüntüye yaklaşmak için bunları karo olarak kullanır. Yaklaşım aslında oldukça hoş: Her karo konumundaki her başparmak için ortalama kare hatasını hesaplıyorum. İlk başta sadece açgözlü bir yerleşim kullandım: başparmağın en uygun olduğu kiremit …

4
DDD (veya duyu ile) ile model ilişkileri?
İşte basitleştirilmiş bir gereksinim: Kullanıcı Questionbirden çok Answers ile bir oluşturur . Questionen az bir tane olmalıdır Answer. Açıklama: düşünün Questionve Answerbir testte olduğu gibi : bir soru var, ancak birkaç cevap var, azın doğru olabilir. Kullanıcı bu testi hazırlayan aktördür, bu nedenle soru ve cevaplar oluşturur. Bu basit örneği …

2
Golang / Haskell'de tür çıkarımı
Go'nun aslında ML veya Haskell gibi fonksiyonel dillerin sahip olduğu anlamında gerçek bir tür çıkarımın olmadığını okudum, ancak iki versiyonun karşılaştırmasını anlamak için basit bir şey bulamadım. Birisi Go'daki tür çıkarımının Haskell'deki tür çıkarımından ve her birinin artı / eksilerinden nasıl farklı olduğunu açıklayabilir mi?

1
Menü oluşturma deseni
Menü yönlendirme için kullanılmadığında kafamı bir menünün aktif durum işleyişine sokarken sorun yaşıyorum. Menü sisteminin yönlendirmeyi de işlediği Drupal'dan geliyorum. böylece aktif durum ve aktif iz durumunun ayarlanması rota tarafından gerçekleştirilir (bu aynı zamanda bir menü oluşturma sistemi olarak da işlev görür). Şimdi, birçok PHP çerçevesinin yönlendirmeyi işleyen Yönlendirici sınıfları …

4
Bir sınıf yöntemi, kendisini değiştirdikten sonra aynı örneği ne zaman döndürmelidir?
Ben üç yöntem vardır bir sınıf var A(), B()ve C(). Bu yöntemler kendi örneğini değiştirir. Örnek ayrı bir kopya olduğunda (örneğin) bir örnek döndürmek zorunda olsa da, yöntemde aynı örneği değiştirirken ve başka bir değer Clone()döndürmüyorken, döndürmek için ücretsiz bir seçim voidveya aynı örneği ( return this;) var. Aynı değiştirilmiş …

1
Birim ve entegrasyon arasındaki test boşluğu: Küçük, Bileşen, Birim Entegrasyon Testlerinde Entegrasyon
Geçtiğimiz birkaç hafta boyunca, test metodolojimizdeki bir boşluğu nasıl dolduracağımı araştırıyor ve araştırıyorum. Basitleştirilmiş terimlerle birim testleri çok küçük ve geleneksel entegrasyon testleri çok büyük. Bileşenin kullanıldığı Ave Bher ikisinin de sık olduğu bir senaryo ortaya çıkar C. Ancak Ave Bbiraz farklı gereksinimler var ve hakkında biraz farklı varsayımlar yapmak …

4
C'deki “yıkıcıları” atlamak YAGNI'yı çok mu ileri götürüyor?
OO benzeri teknikleri kullanarak C orta gömülü bir uygulama üzerinde çalışıyorum. "Sınıflarım", kapsülleme, polimorfizm ve bağımlılık enjeksiyonunu taklit etmek için veri yapıları ve işlev işaretçileri yapılarını kullanan .h / .c modülleridir. Şimdi, bir myModule_create(void)fonksiyonun bir myModule_destroy(pointer)muadili ile gelmesi beklenir . Ancak proje gömülüyor, gerçekçi bir şekilde başlatılan kaynaklar asla serbest …

3
Adlandırılmış işlevleri tanımlamak için yinelenen sözdizimi kötü bir dil tasarımı kararı mı?
Eğlenmek için bir programlama dili modelliyorum ve sözdizimi Scala'ya özgü işlev tanımlarından büyük ölçüde etkileniyor. Benim dilim çünkü bir tasarım sorunla karşılaştık ayrım yapmaz aracılığıyla tanımlanmış fonksiyonlar arasında def(kullanılarak oluşturulan sözdizimi (sınıf yöntemleri) ve değerler atanmış anonim işlevlerin =>) - bu hem farklılıklarını ortadan kaldırır uygulanması ve davranış . Sonuç …

6
Büyük arayüzleri ayırın
Bir veritabanına erişmek için yaklaşık 50 yöntem ile büyük bir arayüz kullanıyorum. Arayüz bir meslektaşım tarafından yazıldı. Bunu tartıştık: Ben: 50 yöntem çok fazla. Bu bir kod kokusu. Meslektaşım: Bu konuda ne yapmalıyım? DB erişimi istiyorsunuz - buna sahipsiniz. Ben: Evet, ama gelecekte belirsiz ve bakımı zor. Meslektaşım: Tamam, haklısın, …

4
.NET'in IObserver <T> birden çok IObservable'a abone olmak için mi tasarlandı?
Orada IObservable ve IObserver .NET (aynı zamanda arayüzleri burada ve burada ). İlginç bir şekilde, IObserver'ın somut uygulaması IObservable'a doğrudan bir referans içermemektedir. Kime abone olduğunu bilmiyor. Sadece aboneliği iptal edebilir. "Aboneliği iptal etmek için lütfen raptiyeyi çekin." edit: Unsubscriber uygular IDisposable. Bence bu şema, dinleyen din problemini önlemek için …


1
Çok parçalı alan / dosya verilerini ayrı olarak ayrıştırma
Çok bölümlü bir formu iki kez ayrıştırmak istiyorum: bir kez gelen alanları kapmak ve daha sonra dosya yüklemeyi işlemek için. Düğüm uygulamamdaki kaygıların doğru bir şekilde ayrılmasını sağlamaya çalışıyorum: Kontrolör, gelen alanların işlenmesinden sorumludur. Yükleme dosyası mantığından model sorumludur. Alanlar veri yeni bir örnek oluşturmak için modeline geçmek gerekir, bu …
9 data  node.js  upload 

4
Bu yöntem saf mı?
Aşağıdaki uzantı yöntemi var: public static IEnumerable&lt;T&gt; Apply&lt;T&gt;( [NotNull] this IEnumerable&lt;T&gt; source, [NotNull] Action&lt;T&gt; action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return source.ApplyIterator(action); } private static IEnumerable&lt;T&gt; ApplyIterator&lt;T&gt;(this IEnumerable&lt;T&gt; source, Action&lt;T&gt; action) where T : class { foreach (var item in source) { action(item); yield return item; } } …

1
API ve uygulama arasında nesne paylaşma düzeni
Web uygulamamın tasarımı hakkında ciddi şüphelerim var. İş mantığını arayüzden ayırmak istedim, böylece veritabanına yapılan tüm istekleri işleyen bir Web API'sı yaptım. Entity çerçeveli bir ASP.NET Web API'sı ve bir iş birimi ve genel veri havuzu modeli. Şimdiye kadar her şey iyi. SORUN Yardıma ihtiyacım olduğunda API ile uygulama arasında …

2
Olay dinleyicileri zayıf referanslarda tutulmalı mı?
Genellikle olay dinleyicileri onları kaydeden nesneden daha uzun olmamalıdır. Olay dinleyicilerinin varsayılan olarak zayıf referanslarla tutulması gerektiği anlamına gelir (nesne dinleyicileri tarafından zayıf koleksiyonlarda saklanır)? Dinleyicinin yaratıcısını geçmesi gereken geçerli durumlar var mı? Ya da belki böyle bir durum bir hatadır ve buna izin verilmemelidir?

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.