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
Yinelenen dörtlü
Ben bir dörtlü uyguluyorum. Bu veri yapısını bilmeyenler için aşağıdaki küçük açıklamayı ekliyorum: Bir Quadtree bir veri yapısıdır ve Öklid düzleminde bir Octree'nin 3 boyutlu bir uzayda ne olduğudur. Quadtrees'in yaygın kullanımı mekansal indeksleme. Nasıl çalıştıklarını özetlemek için, bir dörtlü, maksimum kapasiteye ve bir ilk sınırlama kutusuna sahip bir koleksiyon …

4
Yakalama kullanmak için özel olarak istisnalar oluşturma
if...elseKural dışı durum işleme ile sarılmış tipik bir örnek için, aşağıdaki örnek gibi bir şey kod çoğaltmasını önlemek için önerilen bir uygulama mıdır? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } onun yerine... try { if (GetDataFromServer()) { …


3
Kalıtım: Üst sınıftaki kod sanal olarak * alt sınıfa * kopyalanıyor mu veya * alt sınıf * ile mi adlandırılıyor?
Sınıf Sub, sınıfın bir alt sınıfıdır Sup. Bu pratikte ne anlama geliyor? Başka bir deyişle, "kalıtım" ın pratik anlamı nedir? Seçenek 1: Sup'in kodu neredeyse Sub'a kopyalanır . ('kopyala-yapıştır'da olduğu gibi, ancak kopyalanan kod alt sınıfta görsel olarak görülmeden). Örnek: methodA()başlangıçta Sup. Sub, Sup'i genişletir methodA(), (neredeyse) Sub'a kopyalanır. Şimdi …

12
Neden daha fazla dil bir değeri birden fazla değerle karşılaştıramaz? [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 . 6 yıl önce kapalı . Aşağıdakileri göz önünde bulundur: if(a == b or c) Çoğu dilde, bunun şu şekilde yazılması gerekir: if(a …

1
“Tren” temelli gelişme nedir?
Gelişim metodolojisinde yeni bir terimle daha karşılaştım ve bunun için bir tanım bulamadım. Özellikle, buna "tren tabanlı geliştirme" denir. İşte bu terimi gördüğüm yerlere bazı örnekler. Bu haftanın başlarında, mühendislik liderlerimizden ve sürüm yöneticilerimizden Firefox'un Windows Metro sürümünü trenlerden almasını istedim. (Johnathan Nightingale) https://blog.mozilla.org/futurereleases/2014/03/14/metro/ Mozilla kariyer web sitesinden: Hem çevik …

5
Bir Scrum ekibi Sprint taahhüdünü ne sıklıkta yerine getirmelidir? [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 . 6 yıl önce kapalı . Bağlılık bir vaattir ve hepimize vaatlerinizi yerine getirmeniz gerektiği öğretilmiştir. Ancak her Sprint için taahhüdü korumak gerçekçi …
10 scrum 

2
Websocket istemcisinden gönderirken maskeleme gerçekten gerekli mi
Geçerli Websocket RFC , websocket istemcilerinin gönderirken çerçevelerdeki tüm verileri maskelemesini gerektirir (ancak sunucunun bunu yapması gerekmez). Protokolün bu şekilde tasarlanmasının nedeni , çerçeve verilerinin istemci ve sunucu (proxy'ler vb.) Arasındaki kötü amaçlı hizmetler tarafından değiştirilmesini önlemektir. Ancak, maskeleme anahtarı bu tür hizmetler tarafından hala bilinir (her çerçevenin başında kare …

4
Gevşek bağlı tasarımlar oluşturmak için ne kadar çaba harcamalıyım?
Şu anda tasarım kalıplarını öğreniyorum. Çoğu insanın bu kalıpların harika araçlar olduğu konusunda hemfikir olacağını düşünüyorum, ancak her şeyin cevabı olarak ılımlılıkla kullanılmalı. Bunları çok fazla kullanmak, uygulamayı çok az fayda ile aşırı karmaşık hale getirecektir. Desenler sadece en iyi çözüm olabilecekleri veya iyi bir çözümün oluşturulmasında yardımcı olabilecek yerlerde …

6
Birden fazla Scrum ekibiyle kod sahipliği
İki Scrum takımı aynı yazılım bileşenini kullanıyorsa, bu bileşenin net bir mimari vizyonunu sağlamaktan ve kod tabanı geliştikçe bu vizyonu sürdürmekten / geliştirmekten kim sorumludur? Scrum'da kolektif bir kod sahipliğiniz olması gerekiyor, bu nedenle A Ekibi tarafından yapılan geliştirmenin B Ekibi tarafından yapılan geliştirmeye müdahale etmediğinden nasıl emin olabilirsiniz?

1
“C ++ Şablonları: Tam Kılavuz” (c) 2002 - C ++ 11 ile güncel mi?
C ++ Templates: The Complete Guide (2002) kitabı bana çok çekici geliyor, ama 12 yaşında olduğu için güncelliğini yitirmiş olabileceğinden endişe ediyorum. Bir yıl kadar önce tarihli bazı son derece olumlu Amazon incelemeleri vardır ve C ++ şablonlarında çok yeni başka başlıklar görmüyorum. 2002'de yayınlanan şablonlarla ilgili bir kitabın (özellikle …
10 c++  templates 

2
Veritabanı Normalleştirmesini ve Şema Şeffaflığını mı Tercih Ediyorsunuz?
Eski bir kod tabanında yeni bir gereksinim ortaya çıkmıştır, bu da temel olarak doğrudan ilişkili olmayan iki kullanıcı sınıfı arasında (tamamen farklı şemaya sahip farklı tablolarda depolanmıştır ve ne yazık ki kod neredeyse OO-farkındadır, daha az tasarlandığından ebeveyn sınıfı yoktur). Bu işlevselliği asla dikkate almayan bu eski düzene bir çanta …

5
Bu problemin saf işlevsel bir çözümü, zorunluluk kadar temiz olabilir mi?
Python'da şöyle bir egzersiz yapıyorum: bir polinom, güçler indeksler tarafından belirlenecek şekilde bir dizi katsayı olarak verilir, örneğin: (9,7,5), 9 + 7 * x + 5 * x ^ 2 anlamına gelir verilen x için değerini hesaplamak için bir fonksiyon yazın Son zamanlarda fonksiyonel programlamaya başladığım için yazdım def evaluate1(poly, …

4
Java'da sınırlandırılmış bir Dizeyi bölmenin en hızlı yolu
Sınırlandırılmış bir dize üzerinde çok sütunlu sıralama yeteneği sağlayan bir karşılaştırıcı inşa ediyorum. Şu anda ham String belirteçleri bölme için tercih edilen seçim olarak String sınıfından split yöntemini kullanıyorum. Bu, raw String'i bir String dizisine dönüştürmenin en iyi performans yolu mu? Milyonlarca satırı sıralayacağım, bu yüzden yaklaşımın önemli olduğunu düşünüyorum. …

2
Birim testi yan etki-ağır kod
Bir robot çalıştırmak için C ++ kodu yazmaya başlıyorum ve gerçekten yapabiliyorsam, birim testlerini nasıl kullanacağımı bilmiyorum. Robot için otomatik olarak programlanan ve yürütülen "komutlar" oluşturulmasına izin veren bir kütüphane sağlanmıştır. Bu komutlar oluşturmak için mekanizma sağladıkları bir komut temel sınıf alt sınıf ve sanal uygulamaktır void Initialize(), void Execute()ve …

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.