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

1
<Arasındaki fark nedir? Foo> ve <Foo>
Ben arasındaki fark hakkında bir yanlış anlamayı var gibi &lt;Foo&gt;ve &lt;? extends Foo&gt;. Anladığım kadarıyla, ArrayList&lt;Foo&gt; foos = new ArrayList&lt;&gt;(); Bu tür nesnelerin Foobu dizi listesine eklenebileceğini gösterir. Alt sınıfları Fooda tür Fooolduğundan, ile gösterildiği gibi hatasız olarak eklenebilirler ArrayList&lt;Foo&gt; foos = new ArrayList&lt;&gt;(); foos.add(new Foo()); foos.add(new Bar()); nerede Bar …
20 java  generics 

1
Kodunuzdaki çoğul tantum ile başa çıkmak için standartlar nelerdir? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 4 yıl önce kapalı . Çoğul ve tekil değerleri aynı olan değişkenleri kullanırken bunları nasıl adlandırırsınız? Dışarıda standartlar var mı? Örneğin: Series[] …

5
Yedekli özel durumlar Liskov İkame İlkesini ihlal ediyor mu?
Diyelim ki FooInterfaceaşağıdaki imzayı içeren bir arayüzüm var: interface FooInterface { public function doSomething(SomethingInterface something); } Ve ConcreteFoobu arayüzü uygulayan somut bir sınıf : class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } ConcreteFoo::doSomething()Özel bir SomethingInterfacenesne türünden geçtiyse benzersiz bir şey yapmak istiyorum (diyelim ki çağrılıyor SpecialSomething). …

2
Swift neden noktalı virgül gerektirmez? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 4 yıl önce kapalı . Normalde c # ya da Objective-C kodları yazdım ve son zamanlarda Apple'ın yeni programlama dilini (Swift) öğrenmeye …

3
Sipariş edilen bilgiler İlişkisel Veritabanında nasıl saklanır
Düzgün ilişkisel bir veritabanında sipariş bilgileri depolamak anlamaya çalışıyorum. Bir örnek: Diyelim ki Şarkılardan oluşan bir Çalma Listem var. İlişkisel Veritabanımda, Playlistsbazı meta veriler (ad, yaratıcı, vb.) İçeren bir tablo var . Ayrıca şarkı Songsiçeren bir playlist_idbilgi (ad, sanatçı, süre, vb) yanı sıra , içeren bir tablo var . Varsayılan …

1
Haskell Maven'e benzer yapı ve yapay çevre
Eskiden Java geliştiricisiydim ama son zamanlarda Haskell ekibine katıldım. Java dünyasında, üzerinde birkaç ekip çalıştığı büyük bir projeniz varsa, ortak bir yaklaşım, gelişimi kolaylaştırmak ve hızlandırmak için Maven gibi bir yapay sunucu kullanmaktır. Ant, Maven, Gradle gibi çok sayıda oluşturma aracı, projeyi oluşturabilir ve ekibin geri kalanı tarafından ağrısız olarak …


3
Jenerik mi ortak arayüz mü?
Geçen sefer jenerik dersi ne zaman yazdığımı hatırlamıyorum. Her düşündüğümden sonra ihtiyacım olduğunu her düşündüğümde bir sonuca varmam. İkinci cevap bu soruya beni (ben henüz yorum yapamam çünkü ben yeni bir soru yapılan) açıklama istemek için yapılmıştır. Şimdi, jeneriklere ihtiyaç duyduğu bir duruma örnek olarak verilen kodu alalım: public class …

5
Neredeyse herkesin ortak bir veri yapısına erişmesi gerektiğinde bağımlılık enjeksiyonunun faydaları nelerdir?
OOP'ta küresellerin kötü olmasının birçok nedeni var . Paylaşılması gereken nesnelerin sayısı veya boyutu işlev parametrelerinde verimli bir şekilde iletilemeyecek kadar büyükse, genellikle herkes global bir nesne yerine Bağımlılık Enjeksiyonu önerir . Ancak, neredeyse herkesin belirli bir veri yapısı hakkında bilgi sahibi olması durumunda, Bağımlılık Enjeksiyonu neden küresel bir nesneden …

1
API Ağ Geçitleri ve ESB'ler arasındaki farklar? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu Yazılım Mühendisliği Yığın Değişimi için konuyla ilgili olacak şekilde güncelleyin . 5 yıl önce kapalı . Çalıştığım şirket, web hizmetlerinin yönetimi, ölçümü ve güvenliği için bazı ara katman yazılım çözümlerini değerlendiriyor. Şu anda, …

7
Sınıfları “Bilgi” sonekiyle adlandırmanın ardındaki fikir nedir, örneğin: “SomeClass” ve “SomeClassInfo”?
Fiziksel cihazlarla ilgilenen bir projede çalışıyorum ve bu projedeki bazı sınıfların nasıl düzgün bir şekilde adlandırılacağı konusunda kafam karıştı. Gerçek cihazlar (sensörler ve alıcılar) bir şey ve onların yazılımda temsil başka bir şey göz önüne alındığında , ben bazı sınıfları "Bilgi" soneki ad desen ile adlandırmayı düşünüyorum. Örneğin, a Sensor, …

1
.NET çerçevesinin neden birinci sınıf tür olarak sınıf kavramı yoktur?
C # ve .NET çerçevesinin, Delphi'nin baş geliştiricisi Anders Hejlsberg tarafından tasarlanan "Delphi'nin Java gibi hissetmek için yeniden yazıldığı" olarak başladığı tarihe aşina olanlar tarafından iyi bilinir. O zamandan beri işler biraz farklılaştı, ancak benzerliklerin başında o kadar açıktı ki , .NET'in aslında Borland'ın ürünü olduğu konusunda ciddi bir spekülasyon …

7
VBA'dan C # 'a taşınma sorgulayan ekip üyesi
Arka fon Geçen yıl, yaklaşık 10 kullanıcı için iş planlaması için kullanılacak bir araç oluşturmam istendi. Bu, işi bana "alt-sözleşme yapan" başka bir BT ekibi adına yapıldı ve proje sürelerinin biraz planlanmamış olması nedeniyle biraz acele etmek zorunda kaldım. O zaman, en hızlı yolun VBA ile bir Excel çalışma kitabı …

2
Hasell'de “boyutu bir türe dönüştürmek” mümkün mü?
Vektörler ve matrislerle ilgili bir kütüphane yazmak istediğimi varsayalım. Boyutları türlere dönüştürmek mümkün mü, böylece uyumsuz boyutların işlemleri derleme zamanında hata üretir mi? Örneğin, nokta ürününün imzasının aşağıdaki gibi olmasını istiyorum dotprod :: Num a, VecDim d =&gt; Vector a d -&gt; Vector a d -&gt; a burada dtür tek …

2
Bir API sadece kod bakarak ne yaptığını her zaman bilmek gerekir?
Son zamanlarda kendi API'mı geliştiriyorum ve API tasarımına bu kadar ilgi duyduğumda, API tasarımımı nasıl geliştirebileceğimi çok merak ettim. Birkaç kez ortaya çıkan bir yönü (API'mın kullanıcıları tarafından değil, konu hakkındaki gözlemli tartışmamda): API'yı ne yaptığını çağıran koda bakarak bilmelisiniz . Örneğin , söylem repo için GitHub'daki bu tartışmaya bakın …

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.