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
Forth'ın esnekliği neden bir dilbilgisini bunun için uygunsuz hale getiriyor?
Geçenlerde yığın tabanlı bir programlama dili yazma görevini üstlendim. Dilimi tasarlamaya başlamadan önce, mevcut yığın tabanlı dilleri okumanın ve denemenin iyi bir fikir olacağını düşündüm. Bu beni bu yazının konusuna getiriyor. Postfix stil ifadelerini kullanan yığın tabanlı bir dil olan Forth'daki Wikipedia makalesini okuyordum . Makalede, aşağıdaki ifadeyi gördüm: Forth'un …

4
Koşullu'yu polimorfizm ile uygun bir şekilde değiştir?
İki sınıfı düşünün Dogve Cather ikisi de Animalprotokole uygun (Swift programlama dili açısından. Java / C # arayüzünde olurdu). Köpeklerin ve kedilerin karışık bir listesini gösteren bir ekranımız var. Orada Interactorsınıf perde arkasında o kolları mantık. Şimdi bir kediyi silmek istediğinde kullanıcıya bir onay uyarısı sunmak istiyoruz. Bununla birlikte, köpeklerin …

2
Uyarı Sistem Mimarisi
Çeşitli programlardan gelen uyarı mesajlarını işleyen ve bu uyarıları e-posta yoluyla tüketicilere indirgeyen bir sistem oluşturmak istiyorum. Tüm bunlar tek bir dahili ağ üzerinden sağlanacaktır. Bence temel mimarinin şöyle görünmesini istiyorum: Şu anda sahip olduğum temel endişe benim "API-çeşit" ne olacak "Message Handler" bit. Bu sistemin tüm bileşenlerinin veritabanına tüm …

4
Her yerde veri kontrolleri yapmak için iyi kod stili?
Kafamdaki her yönü artık tutamayacağım kadar büyük boyutlu bir projem var. İçinde birkaç sınıf ve işlevle uğraşıyorum ve veriyi veriyi aktarıyorum. Zamanla hatalar almaya devam ettiğimi fark ettim, çünkü veriyi farklı işlevlere geçirdiğimde ne kadar kesin bir form olması gerektiğini unuttum ( örneğin, bir işlev daha sonra yazdığım bir dizi …

5
Çevik metodoloji: hızlı ve kirli mi yoksa ilk plan mı?
Çevik soru: Çevik şeylerin kalkmasına ve “hızlı ve kirli yolun” yürütülmesine inanıyor mu? Yoksa bu bir metodoloji sorusu değil, daha çok vaka bazında değerlendirdiğiniz bir soru mu? Teknik olarak sistemin temelini "yeniden" yapıyorum, yapının çoğunu zaten inşa ettikten sonra ... anıtsal bir iş değil ... çeviklik önce tüm akışı belirtmemi, …
10 agile 


3
İlgili bir özellik kümesini kendi yapısına / sınıfına sarmak iyi bir uygulama mudur?
Swift'te bir User nesnesi yazmak, ancak sorum güçlü yazılan herhangi bir dille ilgili. Bir kullanıcı bir sürü bağlantıya sahip olabilir (FacebookProfile, InstagramProfile, vb.). Bu konuda birkaç soru. Bağlantıları kendi nesnelerine sarmak iyi bir uygulama mudur? struct Kullanıcısı { var firstName: string var lastName: string var email: dize var links: Bağlantılar …

4
Bir derleyici bir tür hatadan tam olarak nasıl kurtarılır?
Derleyiciler: İlkeler, Teknikler ve Araçlar (2. Baskı) (aka "Ejderha Kitabı") başlıklı 4.1.4, bölüm 4'teki birkaç makaleyi, makaleyi okudum . Ancak, birkaç modern derleyiciyi denedikten sonra, semantik hatalardan ve sözdizimsel hatalardan da kurtulduklarını gördüm . Sözdizimsel olarak ilgili hatalardan kurtarma derleyicilerin arkasındaki algoritmaları ve teknikleri oldukça iyi anlıyorum, ancak bir derleyicinin …

6
Eşit derecede optimal olmayan tasarımlarla sonsuz bir şekilde tekrarlamayı nasıl önlersiniz?
Muhtemelen birçokları gibi, genellikle kendimi tasarım problemleri ile baş ağrısına koşarken buluyorum, örneğin, sezgisel olarak problemlere uygun görünen ve istenen faydaları olan bazı tasarım desenleri / yaklaşımları var. Çoğunlukla patern / yaklaşımın, bir çeşit çalışma olmadan uygulanmasını zorlaştıran ve sonrasında paternin / yaklaşımın faydasını reddeden bazı uyarılar vardır. Pek çok …

6
Sınıfların çoğunu veri alanına ayırmak yalnızca sınıf ve yöntem yalnızca sınıfları (mümkünse) iyi mi yoksa anti-kalıp mıdır?
Örneğin, bir sınıf genellikle sınıf üyelerine ve yöntemlerine sahiptir, örneğin: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Ancak Tek sorumluluk ilkesi ve Açık kapalı ilkesi hakkında okuduktan sonra, bir …

4
Benzersiz bir dizin ekleyemediğinizde kopyalardan kaçınmanın olası yolları nelerdir?
Bir eşzamanlılık sorununda sıkıştım. Kullanıcının DB'de çoğaltılmaması gereken bazı verileri saklamak için 2 veya 3 işlem gönderdiği tipik bir sorundur, yinelenen bir kayıt olması durumunda bir hata döndürmeniz gerekir. Bir karma depoladığınız bir sütuna bir dizin (benzersiz) ekleyebildiğinizde bu sorun kolaydır. Ama bu durumda, büyük bir tablom var (muhtemelen milyonlarca …

1
Null-Safe Operatörleri (örn. “Elvis operatörü”) Java 7'nin “Project Coin” inin bir parçası olarak neden reddedildi?
Java 7'nin "Project Coin" i için önerilen özelliklerden biri "Elvis operatörü" idi. Bir bir 2009 JavaOne sunum raporu Projesi Coin gibi tanımladı: Bu sunumda yer alan "küçük özelliklerden" biri üçlü operatörün daha özlü bir versiyonu olan "Elvis operatörü" dür. Kendimi geleneksel Java kullanırken Groovy'nin bazı özelliklerini eksik buluyorum ve bu …
10 java  api-design 

2
Agrega sınırları nasıl tasarlanır?
Bir uygulamaya e-ticaret gibi bir şey yazmak istiyorum. Ve benzer uygulamalarda ürünlerin farklı özelliklere ve özelliklere sahip olabileceğini biliyorsunuz. Böyle bir fırsatı simüle etmek için aşağıdaki alan modeli varlıklarını oluşturdum: Kategori - bu "elektronik> сomputers" gibi bir şey yani ürün türleri. Kategoriler, özelliklerin bir listesini içerir (Liste <Özellik>). Mülkiyet - …

5
C ++ kodumda sınıf bağımlılığı nasıl giderilir?
C ++ projemde iki sınıfım var Particleve Contact. Olarak Particlesınıf, bir üye değişkeni olan std::vector<Contact> contactsbir bütün temas içeren Particlebir nesne ve karşılık gelen üye işlevlerini getContacts()ve addContact(Contact cont). Bu nedenle, "Particle.h" içinde, "Contact.h" yi içerir. In Contactsınıfında, ben kurucusuna kodu eklemek istiyorum Contacto arayacak Particle::addContact(Contact cont)böylece contactsher ikisi için …

2
Sunucusuz mimariler veritabanı bağlantılarını nasıl yönetir?
Sunucusuz mimarinin ana avantajı, bu tür programların sürekli çalışması için özel bir sunucuya ihtiyaç duymamasıdır. Sonra bir istek üzerine çağrılır ve işlevden çıkmayı durdurur. Bu, sunucusuz bir programın hızlı yanıt verebilmesi için hızlı olması gerektiği anlamına gelir. O zaman veritabanı bağlantısı gibi zaman alan eylemleri nasıl ele alır? Her zaman …

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.