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

5
“Yapılandırma kongre” temel programlama ilkelerini ihlal etmiyor mu?
WPF MVVM çerçevesi Caliburn.Micro'ya bakıyordum ve birçok standart şeyin adlandırma kurallarına dayandığını okudum . Örneğin, Görünüm'deki özelliklerin ViewModel'deki özelliklere otomatik olarak bağlanması. Her ne kadar bu uygun görünse de (bazı boyler kodunu kaldırsa da), ilk içgüdüsel tepkim bu kodu okuyacak yeni bir programcı için tamamen açık olmadığı yönünde. Başka bir …

5
Python neden çok hatlı lambdalara izin vermiyor?
Birisi BDFL'nin Python lambdas'ı tek satır yapmak için seçtiği somut nedenleri açıklayabilir mi? Bu iyi: lambda x: x**x Bu bir hataya yol açar: lambda x: x**x Lambda çok satırlı yapmanın normal girinti kurallarını bir şekilde "rahatsız edeceğini" ve daha fazla istisna eklemeyi gerektirdiğini, ancak bunun faydalarına değmeyeceğini anlıyorum. Örneğin, JavaScript’e …
50 lambda  python 



7
SOLID? A geçiş yaptıktan sonra büyük oranda artan sınıf sayısını yönetmek ve düzenlemek
Son birkaç yılda, yavaş yavaş adım adım ilerleyerek daha iyi yazılmış bir koda geçiyoruz, bir seferde birkaç adım. Sonunda en azından SOLID'e benzeyen bir şeye geçmeye başlıyoruz, ancak henüz tam olarak orada değiliz. Geçiş yaptıktan bu yana, geliştiricilerin en büyük şikayetlerinden biri, daha önce her görevin yalnızca geliştiricinin 5-10 dosyaya …

6
Neden C'deki yapıları döndüren birçok işlev aslında işaretçileri yapılara döndürür?
returnİşlev yapısında tüm yapıyı döndürmenin aksine bir göstericiyi bir yapıya döndürmenin avantajı nedir ? Fonksiyonlar fopenve diğer düşük seviyeli fonksiyonlar hakkında konuşuyorum ama muhtemelen işaretçileri yapılara döndüren daha yüksek seviyeli fonksiyonlar var. Bunun sadece bir programlama sorusundan ziyade bir tasarım seçeneği olduğuna inanıyorum ve iki yöntemin avantajları ve dezavantajları hakkında …

2
MVP'nin MVC'ye göre gelişimi nelerdir?
Model-View-Controller (MVC) ve Model-View-Presenter (MVP) modelleri hakkında üç gündür okudum . Ve beni çok rahatsız eden bir soru var. Yazılım tasarımcıları bir MVC olduğu zaman neden MVP'yi icat ettiler? Hangi problemlerle karşılaştılar, MVC'nin çözemediğini (ya da kötü bir şekilde çözdüğünü), ancak MVP çözebilir mi? MVP hangi sorunları çözmeyi amaçlamaktadır? MVP'nin …

7
Aynı üyeli fakat farklı isimlendirmeli iki yapı, iyi bir fikir mi?
Hem kutupsal hem de Kartezyen koordinatlarıyla çalışmayı içeren bir program yazıyorum. O anlamda noktaları ile birinin her türlü iki farklı yapılar oluşturmak için yapıyor mu Xve Yüyeleri ve bir ile Rve Thetaüyeler. Yoksa çok mu fazla ve üyeli firstve tek bir yapıya sahip olmak daha iyi second. Yazdıklarım basit ve …
49 design 

11
“Nedeni kolay” - bu ne anlama geliyor? [kapalı]
Diğer geliştiricilerin bu ifadeyi bazı kalıpları "tanıtmak" veya en iyi uygulamaları geliştirmek için kullandıklarını çok fazla duydum. Çoğu zaman bu cümle, işlevsel programlamanın yararlarından bahsederken kullanılır. "Kolayca anlaşılması kolay" ibaresi, herhangi bir açıklama veya kod örneği olmadan olduğu gibi kullanılmıştır. Bu yüzden benim için, daha "deneyimli" geliştiricilerin konuşmalarında kullandıkları bir …


6
Çok sayıda küçük istek ve çok sayıda büyük istek (API Tasarımı)
Şu anda bir kuruluşla birlikte bir proje üzerinde çalışıyorum: İstemci - Ana sunucudan veri REST api ile alır. Sunucu - Üçüncü taraf API'ler aracılığıyla diğer çeşitli sunuculardan veri ister Üçüncü taraf API'leri - Sunucuya veri sağlayan denetimim dışındaki hizmetler (Reddit, Hackernews, Quora, vb.) Argüman uğruna, müşterinin önce üçüncü taraf API'lerinin …

3
C ++ şiddetle yazılmış typedef
Derleme aşamasında belirli bir hata sınıfı yakalayabilmek için, güçlü bir şekilde yazılmış typedefleri bildirmenin bir yolunu düşünmeye çalışıyorum. Bu, çoğu zaman çeşitli kimlik türlerine bir int veya tanımlayacağım veya konum veya hız için bir vektör yazacağım durum budur: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 Velocity; …
49 c++  c++11  type-safety 


5
Neden tüm <algorithm> işlevleri konteynerleri değil, yalnızca aralıklarını kullanıyor?
Birçok yararlı fonksiyon vardır &lt;algorithm&gt;, fakat hepsi "sekans" larda çalışır - yinelemeler Örneğin, eğer bir konteynırım varsa ve std::accumulateüzerine koştuğumda yazmam gerekir std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Yapmayı düşündüğüm tek şey: int sum = std::accumulate(myContainer, 0); Bu benim gözlerimde biraz daha okunaklı ve net. Şimdi …

6
Java tarafından kontrol edilen istisnalar için geçici çözüm
Java 8'in lambdalar ve varsayılan yöntemler arabirimleriyle ilgili özelliklerini çok takdir ediyorum. Yine de, kontrol edilen istisnalar dışında hala sıkıldım. Örneğin, bir nesnenin tüm görünür alanlarını listelemek istersem, şunu yazmak istiyorum: Arrays.asList(p.getClass().getFields()).forEach( f -&gt; System.out.println(f.get(p)) ); Bununla birlikte, getyöntem, Consumerarayüz sözleşmesini kabul etmeyen, işaretli bir istisna atabildiğinden , bu istisnayı …

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.