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

14
Tip testi ne zaman tamamdır?
Bazı doğal güvenlik türlerine sahip bir dil varsayarak (örneğin, JavaScript değil): A'yı kabul eden bir yöntem göz önüne alındığında SuperType, çoğu durumda bir eylem seçmek için tip sınaması yapmak için cazip olabileceğimizi biliyoruz: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } } …

9
Neden birincil anahtar göstermiyor
Eğitimimde, gerçek birincil anahtarları (yalnızca DB anahtarları değil, tüm birincil erişimciler) kullanıcıya göstermenin hatalı bir fikir olduğu söylendi. Her zaman bunun bir güvenlik sorunu olduğunu düşünürdüm (çünkü bir saldırgan, kendine ait olmayan şeyleri okumaya çalışabilirdi). Şimdi, kullanıcının yine de erişmesine izin verilip verilmediğini kontrol etmeliyim, bu yüzden arkasında farklı bir …

5
Boş değer yerine Belki türleriyle olan diller kenar koşullarını nasıl işler?
Eric Lippert, C # 'nın neden nullbir Maybe<T>tip yerine neden kullanıldığını tartışmasında çok ilginç bir noktaya değindi : Tip sisteminin tutarlılığı önemlidir; Null edilemeyen bir referansın hiçbir zaman geçersiz olduğu gözlemlenen koşullar altında olmadığını her zaman bilebilir miyiz? NULL olmayan bir referans türü olan bir nesnenin yapıcısına ne demeli? Peki …

11
Bir ekibin her şeyi şirket içinde yazması ne kadar yaygındır? [kapalı]
Yakın tarihli bir röportajda, röportajcılara "yeni teknolojileri ve kütüphaneleri (SignalR gibi) nasıl değerlendiriyor ve kullanmaya nasıl sokuyorsunuz?" Diye sordum. Yapmadıklarını söylediler, bunun yerine her şeyi kendileri yazıyorlar, böylece başkalarına güvenmek zorunda kalmıyorlar. Firma, hükümet veya savunma müteahhitleri veya güvenlik açısından kritik projeler veya bunun gibi bir konuda çalışmaz. Onlar sadece …


9
Kod tutarlılığı ve kod geliştirme arasındaki doğru denge nedir?
Son zamanlarda bir meslektaşımla kod tarzı hakkında bir tartışma yaptım. API kullanmanızın ve kullandığınız genel kalıpların, kod kodunun tamamı olmasa bile, kod görünümüyle (kodlama konumlandırma, büyük harf vb.) Yaptığınız gibi, çevre koduyla mümkün olduğu kadar benzer olması gerektiğini savunuyordu. . Örneğin, C #'daki bir DAO sınıfına bir yöntem ekliyor olsaydım, …

4
TDD - İç Dış vs İç Dış
TDD kullanarak bir uygulama Outside In vs Inside Out bir uygulama oluşturma arasındaki fark nedir ? Bunlar TDD ve birim testleri hakkında okuduğum kitaplardır: Teste Dayalı Geliştirme: Örnek Teste Dayalı Geliştirme: Pratik Bir Rehber: Microsoft'ta Yüksek Kalite PHP Altyapıları ve Uygulamalarına Dayalı Geliştirme Geliştirmeye Yönelik Gerçek-Dünya Çözümleri . NET xUnit …

9
Bir sınıfın yöntemleri kendi alıcılarını ve ayarlayıcılarını mı çağırmalı?
Çalıştığım yerde böyle şeyler yapan birçok sınıf görüyorum: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } Bunu sıfırdan …

7
Sürüm kontrolünü nasıl yaptığımızla ilgili bir sorun mu var?
İş analisti olarak bir programcı ekibi ile çalışıyorum. Ürünümüzün 2.0 sürümünü henüz piyasaya sürdük ve 3 ay içinde piyasaya sürülecek bir sonraki sürüm üzerinde çalışıyoruz (dahili bir yazılım ürünüdür). Maalesef, sürüm 2.0'ın düzeltmeleri gereken bazı sorunlar var ve bu düzeltmeleri birkaç hafta içinde dağıtacağız. Sorun şu ki, üzerinde çalışılmakta olan …

12
Geri adım atmak ve yeni gözlerle koda bakmak nasıl? [kapalı]
Geçen yıl zengin bir müşteri uygulaması geliştirmek için tek kişilik bir ekip olarak geçirdim (buna değer için 35.000'den fazla LoC). Şu anda kararlı ve üretimde. Ancak, projenin başında becerilerimin paslı olduğunu biliyorum, bu yüzden şüphesiz kodda önemli konular var. Bu noktada, konuların çoğu mimarlık, yapı ve etkileşimlerdir - kolay problemler, …

6
İlk döngü yapılarının fikirlerini kim yarattı?
while (1) { if (1+1==2) { print "Yes, you paid attention in Preschool!"; } else { print "Wait... I thought 1+1=2"; } } Bir geliştirici olarak, biz tüm döngüler kullanmak zorunda çok sık. Biz biliyoruz ki. Merak ettiğim şey, döngülere sahip olmak fikrini kim düşündü? Hangi dil döngüler başlattı? İlk …
53 history  loops 

1
Github'a dahil olmak (nasıl proje bulunur) [kapalı]
Github'daki açık kaynaklı projelere katkıda bulunmak istiyorum. Çoğunlukla küçük hataları düzeltmeye veya özellikler eklemeye başlamak istiyorum. Aklımda belirli bir projem yok. C, C ++, Python, .NET, Java vb. Projeler üzerinde çalışmak istiyorum. Ancak benim sorunum, Github'da nasıl bir şey bulacağımı çözemem. C projelerini listeleyen Explore Github'da bir sayfa buldum. Temel …

2
Neden 'void' C # 'da genel bir tür olarak kabul edilmiyor
voidYapıcı olmama ve genel bir tür olarak izin verilmemesi lehinde olan tasarım kararları nelerdi ? Sonuçta bu sadece özel bir boş structve tamamen PITA'nın farklı Funcve Actiondelegelere sahip olmasını önlerdi . (C ++, açık voiddöndürmelere izin verir voidve şablon parametresi olarak izin verir )

5
'Gecelik Yapılar' ne anlama geliyor?
Bir süredir açık kaynak projeleri kullanıyorum ve açık kaynak uygulamaları üzerinde geliştiriyorum ve sık sık 'Nightly Build' kelimesiyle karşılaşıyorum ve her zaman gerçekte ne anlama geldiğini merak ediyordum. Kelimenin tam anlamıyla, projelerin yalnızca yan projeler olarak yapıldığı anlamına mı geliyor (genellikle herkes günlük işlerini bitirdikten sonra gece) ve gerçek bir …

5
Neden XHTML5 değil?
Yani, HTML5 Büyük Adım İleri, söylendi. Bildiğim kadarıyla attığımız son adım, XHTML'nin tanıtılmasıydı. Avantajları açıktı: sadelik, kesinlik, standart XML ayrıştırıcıları ve jeneratörleri web sayfalarıyla çalışmak için kullanma becerisi vb. Ne kadar garip ve sinir bozucu, o zaman, HTML5 hepsini geri alır: bir kez daha standart olmayan bir sözdizimi ile çalışıyoruz; …
53 html  html5  xml  xhtml 

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.