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

2
Bağımlılık Enjeksiyonu ve Statik Yöntemler
Bugün bir dize ve çıkış dizesi kabul bir yöntemle bir sınıfa yaklaşmak hakkında başka bir geliştirici ile ilginç bir tartışma vardı. Tamamen örnek amaçlı yapılmış aşağıdaki gibi bir şey düşünün public string GetStringPart(string input) { //Some input validation which is removed for clarity if(input.Length > 5) return input.Substring(0,1); if(input.Substring(0,1) == …

1
MVVM'de durumu yönetmek için iyi bir resmi model var mı?
Web dünyasında Redux ve React'i öğrenmeye başladım ve ne kadar çok öğrenirsem WPF'nin MVVM tarzı mimarisi ile masaüstü dünyasında ne kadar acı verici devlet yönetiminin olduğunu daha çok anlıyorum (Views'ı bağlamak için Caliburn'u kullanarak ViewModels'e). Redux, devletin nasıl yönetilmesi gerektiğini belirleyen, UI güncellemelerini, olay işleme ve durum değişikliklerini çok daha …
21 wpf  mvvm  state  redux 

3
Oluşturucu deseni ve tonlarca parametre oluşturucu
Sınıfınızın birçok parametreye sahip bir yapıcısı varsa, 4'ten fazla varsa, muhtemelen bir kod kokusu olduğu iyi bilinir . Sınıfın SRP'yi sağlayıp sağlamadığını yeniden düşünmeniz gerekir . Ancak, 10 veya daha fazla parametreye bağlı olan ve sonunda tüm bu parametreleri Oluşturucu kalıbı ile ayarlayarak bitirirsek ve nesne yaparsak? Düşünün, Personkişisel bilgileri, …

2
Neden paketler ve modüller Java 9'da ayrı kavramlardır?
Java 9, paketlere ek olarak modüllere de sahip olacak. Genellikle dillerin biri ya da diğeri vardır. Ve çoğu programcı iki terimi eş anlamlı olarak algılar . Modüller, ilkel olarak muamele ederek paketlerin üzerine inşa edilir. Kompozit desen, ilkel ve kompozitlerin eşit şekilde işlenmesini önerir. Aksi takdirde kötü şeyler olur. Örneğin, …


3
@staticmethod vs modül seviyesi işlevi
Bu @staticmethodve hakkında değil @classmethod! Nasıl staticmethodçalıştığını biliyorum . Bilmek istediğim, @staticmethodmodül düzeyinde bir işleve karşı uygun kullanım durumları . Bu soruyu araştırdım ve modül düzeyinde işlevlerin statik yöntemlere göre tercih edildiğine dair bazı genel anlaşmalar var çünkü daha pitonik. Statik yöntemlerin, sınıfına bağlı olma avantajı vardır, bu da yalnızca …
21 python 



2
Ön uçta hesaplamalar yapmak ne zaman uygundur?
Ekibim WEB tabanlı bir finans uygulaması geliştiriyor ve bir meslektaşımla hesaplamaların nerede saklanacağına dair biraz tartışma vardı - sadece arka uçta mı yoksa bazılarını da ön uçta mı tutuyorsunuz? Kısa açıklama: Ön uç için Java (ZK, Spring) ve arka uç için Progress 4gl kullanıyoruz. Bazı sert matematik ve veritabanından veri …


8
Yayın sürümlerinde iddialar varsa
assertC ++ 'da varsayılan davranış, sürüm derlemeleri hiçbir şey yapmaktır. Bunun performans nedeniyle yapıldığını ve belki de kullanıcıların kötü hata mesajları görmesini önlemek için yapıldığını düşünüyorum. Ancak, bir assertişten çıkarılmış ancak devre dışı bırakılan durumların daha da zahmetli olduğunu iddia ediyorum çünkü uygulama muhtemelen bazı değişmezler kırıldığı için hatta daha …

2
Önce kim async / bekledi?
Python, 2015'te 3.5'te asenkron / bekleyen yapıları ekledi. Javascript topluluğu, bazilyonlarca yıl boyunca ona doğru adımlar attı ve nihayet 2017'de yayınlanan ES8'deki taslağa çok benzer bir uygulama ekledi (Anladığımdan). Daktilo yazımı, eğitimsiz göze tam olarak js asenkron yöntemlerine benzeyen, 1.7 sürümünde 2015'te zaman uyumsuz yöntemler ekledi. C # 2012'de async …

6
Küçük bir şirkette Çift Programlama / İşbirliği
Küçük bir geliştirme şirketinde lider geliştirici olarak çalışıyorum. İki geliştiricimiz var, ayrıca geliştirici olan patronum var ama gerçek kodlamanın çoğunu yapmıyor. Üstesinden gelmeye çalıştığım sorun çok yönlü. Aramızda çok fazla işbirliği olmadan hepimizin kendi projelerimiz üzerinde çalışmaya meyilliyiz. Nitekim ben (en gelişmiş geliştirici olarak) başkalarının görüşlerini / yardımlarını benimkinden daha …


6
Sonuçları önbelleğe almayacak şekilde LINQ uygulanarak ne avantaj sağlandı?
Bu, LINQ kullanarak ayaklarını ıslatan insanlar için bilinen bir tuzaktır: public class Program { public static void Main() { IEnumerable<Record> originalCollection = GenerateRecords(new[] {"Jesse"}); var newCollection = new List<Record>(originalCollection); Console.WriteLine(ContainTheSameSingleObject(originalCollection, newCollection)); } private static IEnumerable<Record> GenerateRecords(string[] listOfNames) { return listOfNames.Select(x => new Record(Guid.NewGuid(), x)); } private static bool ContainTheSameSingleObject(IEnumerable<Record> originalCollection, …

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.