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

10
Benzersiz rastgele girişlere güvenmek kabul edilebilir?
Bir ağ protokolü uyguluyorum ve paketlerin benzersiz tanımlayıcıları olmasını istiyorum. Şimdiye kadar, rastgele 32-bit tamsayılar üretiyorum ve bunun astronomik olarak bir program / bağlantının ömrü boyunca bir çarpışma olamayacağının muhtemel olduğunu farz ediyorum. Bu, genel olarak üretim kodunda kabul edilebilir bir uygulama olarak mı kabul edilir yoksa çarpışmaları önlemek için …

8
Hiçbir şeyi temsil etmeyen sınıf - doğru mu?
Uygulamamı tasarlıyorum ve SOLID ve OOP'yi doğru bir şekilde anladığımdan emin değilim. Sınıflar 1 şeyi yapmalı ve iyi yapmalı ancak diğer taraftan birlikte çalıştığımız gerçek nesneleri temsil etmelidir. Benim durumumda veri setinde bir özellik çıkarımı yapıyorum ve ardından makine öğrenimi analizi yapıyorum. Üç sınıf oluşturabileceğimi farz ediyorum FeatureExtractor DataSet analizör …

5
Tipik “dinamik dil hatalarını” nasıl önleyebilirim?
Son zamanlarda JavaScript’e birkaç saat ayırdım, çünkü büyük kullanıcı tabanından yararlanmak istedim. Bunu yaparken çoğu insanın dinamik dillere atfedilen bir model fark ettim. İşlerin çok hızlı bir şekilde çalışmasını sağlarsınız, ancak kodunuz belirli bir boyuta ulaştığında, genel olarak yazım ve yazım hataları ile zaman harcarsınız. Bir derleyicinin beni normalden kurtardığı …

8
Aralığın dışında anlamlı bir değer olması durumunda bir istisna mı atmalıyım yoksa kendim halledeyim mi?
Enlem / boylam koordinatlarını temsil eden bir yapı yazdım. Değerleri longtitudes için -180-180, lattitudes için 90-90 arasındadır. Bu yapıdaki bir kullanıcı bana bu aralığın dışında bir değer verirse, 2 seçeneğim var: Bir istisna atma (aralık dışı arg) Değeri kısıtlamaya dönüştür -185'in bir koordinatı anlamlıdır (kutupsal koordinatlar olduğu için kolayca +175'e …

5
Temiz Mimari: Sunucuyu içeren veya verileri döndüren bir durum mu kullanın?
Temiz Mimarlık tepkisi / görüntü işlemek için (DIP takiben enjekte edilir) sunum gerçek uygulanmasını diyoruz interaktörüdür bir kullanım durumunda izin önerir. Ancak, bu mimariyi uygulayan, çıktı verilerini etkileşimden döndüren ve ardından denetleyicinin (bağdaştırıcı katmanındaki) nasıl işleyeceğine karar vermesine izin veren insanlar görüyorum. İkinci çözüm, uygulama sorumluluklarını uygulama katmanından dışarı atıyor …

2
Performans, SignalR'yi (websockets) tamamen geleneksel bir REST API'sinin yerine kullanmamak için mi kullanıyor?
Ben kullandım SignalRbenim projelerin birkaç gerçek zamanlı mesajlaşma işlevselliği elde etmek. Güvenilir bir şekilde çalışıyor gibi görünüyor ve kullanmayı öğrenmek çok kolay. En azından benim için cazip bir Web API hizmeti geliştirmeyi bırakmak ve SignalRher şey için kullanmaktır . Bunun düşünceli tasarımla elde edilebileceğini hissediyorum, ve öyle olsaydı, müşteri kodunun …

6
Tercüman makine kodu üretiyor mu?
Derleyici ve tercüman konularını yoğun olarak çalışıyorum. Temel anlayışımın doğru olup olmadığını kontrol etmek istiyorum, öyleyse şunu kabul edelim: "Foobish" adında bir dilim var ve anahtar kelimeleri <OUTPUT> 'TEXT', <Number_of_Repeats>; Yani konsola 10 defa yazdırmak istersem, yazarım OUTPUT 'Hello World', 10; Merhaba World.foobish dosyası. Şimdi kendi seçimim olan bir tercüman …

8
İşlev ismiyle bir cümle mi başlıyorsunuz? [kapalı]
Bazen büyük / küçük harfe duyarlı bir programlama dili ile ilgili bir şeyler yazarken, fonksiyon ismiyle bir cümle başlatıyorum. Şimdi İngilizce kuralları, bir cümle içindeki ilk kelimenin büyük harfle yazılması gerektiğini; işlev adı küçük harf olsa da. İlk kelimenin bir işlev adı olmasına neden olacak ne diyebileceğimi merak ediyorsanız, bu …
42 functions 

10
Kodunuz neden% 100 CPU kullanmıyor? [kapalı]
Özellikle Windows XP veya daha yüksek sürümlerde çalışan bir C # .NET 4 programı hakkında konuşuyorum, ancak genel cevaplar da kabul edilebilir. Zaten optimize edilmiş ve verimli bir program varsayalım. Buradaki problem tamamen CPU kullanımının donanım üzerindeki etkilerine ve uygulamamın verimli olup olmadığına değil, aşınmayı azaltmak için yüksek kullanımlı bir …
42 c#  multithreading  cpu  usage 

3
Taban 10'da gösterilemeyen ancak taban 2'de gösterilebilen numaralar var mı?
C#yer alır decimaltürü Örneğin taban 10 içinde tam bir gösterimi ihtiyacı sayılar için kullanılan, 0.1bir baz 2'de temsil edilemez (örn floatve double) ve her zaman bu tip değişkenlerin saklanan bir yaklaşım olur. Tersine çevrilen gerçeğin de mümkün olup olmadığını merak ediyordum. Taban 10'da gösterilemeyen ancak taban 2'de gösterilebilen sayılar var …

9
Arayüzlerin gelecekteki kullanımı için programlama
Böyle bir arayüz tasarlayan yanımda oturan bir meslektaşım var: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Sorun şu ki, kodumuzda bu "end" parametresini kullanmıyoruz, tam orada, çünkü gelecekte biraz zaman kullanmak zorunda kalabiliriz. Şu anda kullanımda olmayan arayüzlere parametreler koymanın kötü …

6
Önde gelen geliştiricinin çevik bir takımdaki rolü nedir?
Çevik olmayan bir geliştirme ekibinde genellikle lider bir geliştirici : Standardı ayarlar (kodlama ve başka türlü) Takım için yeni teknolojileri araştırıyor Takımın teknik yönünü belirler Son sözlerde meseleler var mı Bir sistemin mimarisini tasarlar Ancak çevik bir ekip farklı çalışır: Çevik bir ekip ön plandan ziyade yeni ortaya çıkan tasarıma …

2
Mobil uygulamalarda Veri Senkronizasyonu - birden fazla cihaz, birden fazla kullanıcı
İlk mobil uygulamamı oluşturmaya çalışıyorum. Uygulamanın temel özelliklerinden biri, birden fazla cihazın / kullanıcının aynı verilere erişebileceği ve hepsinin CRUD haklarına sahip olmasıdır. Mimarinin, tüm verilerin depolandığı merkezi bir sunucu içermesi gerektiğine inanıyorum. Aygıtlar, veri işlemlerini gerçekleştirmek için sunucuyla etkileşimde bulunmak için bir API kullanır (örneğin, bir kayıt eklemek, bir …
42 database  mysql  data  mobile 

7
Liderim tarafından önerilen şekilde bu projeyi tasarlamayı ve mimariyi başlatmayı nasıl bırakabilirim? [kapalı]
Ben küçük bir geliştiriciyim (yaklaşık 3 yıl) ve iş yerimde yeni bir sistem inşa etme sürecindeyiz. Lider geliştiricim asıl mimar olacak, ancak sistemi kendim (paralel olarak) yapmayı denemem için bana meydan okudu. Birkaç beyin fırtınası fikri yinelemesi ve mimarlık önerileri olarak gördüklerimi önerme sürecinde, benim önerim bana yaptığım işlerin çoğunun …

7
İşyerinde ne kadar zaman harcayabilirim? [kapalı]
Şimdiye kadar yaklaşık 2 yıldır bir yazılım geliştiricisi olarak çalışıyorum. Yazılım geliştirme kadar hızlı gelişen bir alanda, yeni teknolojiler, çerçeveler, vb. Öğrenmek için zaman harcamanız gerektiği aşikar görünüyor. İşyerinde bir sorunu çözmek için bir şeyler öğrenmem gerekirse, işyerinde bunu öğrenmek için gereken saatleri harcamakta özgür olduğumu her zaman kabul edebileceğimi …

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.