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

6
Yeni başlayanlar için yorum yazmak mı?
Tomurcuk geliştiricilere yönelik kod yorumları yazmak için kesin bir rehber var mı? İdeal olarak, yorumların ne zaman kullanılması (ve kullanılmaması gerektiği) ve hangi yorumların bulunması gerektiğini kapsayacaktır. Bu cevap : Ne yaptığınızı yorum yapmayın, ama neden yaptığınızı. WHAT, onu desteklemek için uygun değişken adları seçerek temiz, okunabilir ve basit bir …

9
Singleton desenine alternatifler
Singleton modeli hakkında farklı görüşler okudum. Bazıları, her ne pahasına olursa olsun kaçınılması gerektiğini, bazılarında ise belirli durumlarda yararlı olabileceğini savunuyor. Singletons kullandığım bir durum, belirli bir A sınıfının nesnelerini oluşturmak için bir fabrikaya (F tipi bir f nesnesi diyelim) ihtiyacım olduğu zamandır. A tipi başlatıldı. Böylece, A'yı başlatmak isteyen …

7
ArgumentNullException'ı atmak nasıl yardımcı olur?
Diyelim ki bir yöntemim var: public void DoSomething(ISomeInterface someObject) { if(someObject == null) throw new ArgumentNullException("someObject"); someObject.DoThisOrThat(); } ArgumentNullException"Doğru" ama "Nesne başvurusu bir nesnenin örneğine ayarlanmadı" hatasının atılmasının bir hatam olduğu anlamına geldiğine inanmak için eğitildim . Niye ya? Referansı önbelleğe alıyor someObjectve daha sonra kullanıyor olsaydım , o zaman …
27 c#  null 

2
DDD - Toplayıcı kök depoları toplayıcıları kurtarıyor mu?
Mevcut bir uygulamanın greenfield modülü için DDD benzeri bir yaklaşım kullanıyorum; mimari nedeniyle% 100 DDD değil, ancak bazı DDD konseptlerini kullanmaya çalışıyorum. Ben sınırlı bir bağlam (O uygun terim olduğunu düşünüyorum - Hala DDD hakkında öğreniyorum) sahip iki varlıkları oluşan: Conversationve Message. Konuşma, bir ileti dizisi konuşma olmadan mevcut olmadığından …

7
Aldırmadan nasıl kod yazarsın?
Bununla demek istediğim, yıllardır üzerinde çalışmakta olan ve çok aşina olan geliştiricilerle paylaştığınız bir kod temelini geliştirmeye nasıl gidiyorsunuz? Kimsenin ayak parmaklarına basmak istemiyorum, ancak işlerimi yapma biçimim, kodumun ne kadar boşluk bıraktığım veya SVN'ye ne sıklıkta kontrol ettiğimden (o kadar sık) ne sıkıntı duyduğum hakkında çok fazla şikayet edemiyorum. …
27 teamwork 

7
Deyimsel C ++ yazmayı nasıl öğrenebilirim?
Ben bir bilgisayar bilimi öğrencisiyim ve bunun sonucunda C ++ 'ya dersleri olan C'nin daha iyi bir sürümü olarak öğretildi. Sonunda karmaşık bir soruna bir çözüm gerektiğinde tekerleği yeniden icat etmeye çalışıyorum, ancak bundan bir süre sonra bulmak için, bazı dil özellikleri veya bazı standart kütüphane rutinleri bunu benim için …
27 c++ 

5
NInject kullanarak bir fabrika kurmanın en iyi yolu nedir?
MVC3'te NInject kullanarak bağımlılık enjeksiyonunda oldukça rahatım. Bir MVC3 uygulamasında çalışırken, NInject kullanarak özel bir Denetleyici Oluşturma Fabrikası geliştirdim, böylece oluşturulan herhangi bir denetleyicinin bu Denetleyici Fabrikası aracılığıyla kendisine enjekte edilen bağımlılıkları olacaktır. Şimdi bir windows uygulaması geliştirmeye başladım, Application Wide Dependency Injection kullanmak istiyorum. Birim Testini kolaylaştırmak için her …

4
Her yeniden başlatmanın ardından neden yerel .NET sitelerimin ilk kez yüklenmesi zaman alıyor? [kapalı]
.NET platformunu temel alan siteler geliştiriyorum. Bu siteleri genellikle yerel IIS’de kullanırım, böylece yayına girmeden önce bunları test edebilir ve işlevlerini görebilirim. Ancak, pencereleri her başlattığımda, sitelerin ilk kez çalıştırılması uzun zaman alıyor gibi görünüyor. JIT'i biliyorum ve bu sorunun farkındayım , ancak sorumu cevaplamıyor. JIT, pencereleri her başlatışınızda oluyor …
27 .net  asp.net  performance  iis  jit 

5
Bağış parasını hangi temelde açık kaynaklı ekip üyeleriniz arasında herhangi bir çekişme olmadan bölecektiniz? [kapalı]
SourceForge'da barındırılan açık kaynaklı bir projenin geliştiricisiyim. Bazı sürümlerden sonra küçük bir uygulama olarak başladı, gittikçe daha popüler hale geldi ve benden daha fazla zaman ve sorumluluk almaya başladı. Bu yüzden SourceForge'daki bağış seçeneğini etkinleştirdim. Ücretsiz olarak geliştirmeye devam etmeye tutkuluyum ama (hiç) herhangi bir para gelirse, ekibimle nasıl bölmeliyim? …



10
Yanlış dalda çalışmaktan nasıl kaçınıyorsunuz?
Dikkatli olmak genellikle sorunları önlemek için yeterlidir, ancak bazen üzerinde çalıştığım şubeyi iki kez kontrol etmem gerekir ( örneğin, "hmm ... şubedeyim dev, değil mi?") Rasgele bir kaynak kontrol yolunu kontrol ederek dosya. Daha kolay bir yol ararken, çözüm dosyalarını buna göre adlandırmayı düşündüm ( örneğin MySolution_Dev.sln ), ancak her …

3
Statik yöntemlerle statik sınıflar SOLID olarak kabul edilir mi?
SOLID , “bir programdaki nesnelerin, bu programın doğruluğunu değiştirmeden alt tiplerinin örnekleriyle değiştirilmesi gerektiği” fikrini taşıyan Liskov ikame ilkesini içerir . Statik yöntemlerle statik sınıflar ( Mathsınıf gibi bir bit ) hiç bir örneğe sahip olmadığından, statik yöntemlerle statik sınıflarım varsa, sistemim SOLID olarak kabul edilir mi?


9
İnsanlar neden yöntemlerde # bölge etiketlerine bu kadar şiddetle karşı çıkıyorlar?
Yöntemlerin kısa tutulması hakkında çok şey duyuyorum ve bir çok programcının bir yöntemde #region etiketlerini kullanmanın çok uzun olduğunu ve çok sayıda yönteme yeniden yerleştirilmesi gerektiğinin kesin bir işareti olduğunu söylediğini duydum. Bununla birlikte, bana göre, bir yöntemde #region etiketiyle kod ayırmanın birden fazla yönteme yeniden yapılanma konusunda üstün bir …
27 c#  coding-style 

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.