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

6
Bellek hizalama ne kadar önemlidir? Hala önemli mi?
Bir süredir bellek hizalaması, nasıl çalıştığı ve nasıl kullanılacağı hakkında çok şey araştırdım ve okudum. Şimdilik bulduğum en alakalı makale bu . Ancak bununla ilgili hala bazı sorularım var: Gömülü sistemden, bilgisayarımızda bellek yönetimini çok daha az eleştiren yapan büyük bellek yığınlarımız var, tamamen optimizasyondayım, ama şimdi, aynı programı ile …

1
Std :: vector <bool> nasıl ortaya çıktı?
Bugün, neredeyse tüm C ++ geliştiricileri std::vector&lt;bool&gt;, bir konteyner olmadığı için bunun bir hata olduğu konusunda hemfikirdir ve kullanım durumları büyük ölçüde std::bitsetyine de bunlarla örtüşmektedir . Standarda nasıl oy verildi? O zaman tartışmalı mıydı? Ana destekleyici argümanlar nelerdi?
15 c++  history  stl 

3
Ruby yaratıcısı neden Semboller kavramını kullanmayı seçti?
tl; dr: Sembollerin dile özgü olmayan bir tanımı ve diğer dillerde bulunması için bir sebep var mı? Peki, Ruby yaratıcısı neden symbolsdilde kavramını kullandı ? Bunu yakut olmayan bir programcı açısından soruyorum. Birçok başka dil öğrendim ve bunların hiçbirinde Ruby'nin dediği şeyle ilgilenip ilgilenmediğimi belirtmem gerek symbols. Ana soru, symbolsRuby'deki …

3
Bir istemci / sunucu gerçek zamanlı video oyununda daha hızlı bilgisayarlarla nasıl başa çıkılır?
Socket.io kullanarak ilk çevrimiçi oyunumu oluşturuyorum ve bunun agar.io veya diep.io gibi gerçek zamanlı çok oyunculu bir oyun olmasını istiyorum. Ama tüm bilgisayarları aynı hızda nasıl çalıştıracağımızı anlamaya çalışıyorum. Modeller için üç fikrim var, ancak hiçbiri doğru görünmüyor ve normal video oyunlarının nasıl yaptığını merak ediyorum. (Fikirlerimi okumayı atlayabilirsiniz; size …


6
Kaynak kodu yazarken en iyi 80 karakter sınırlaması nasıl takip edilir?
Bildiğiniz gibi en iyi uygulama Kaynak kod satırını 80 karakterle sınırlayın. İşte 2 bağlantı: 80 karakter neden kod genişliği için 'standart' sınır? 80 karakter sınırı, geniş ekran monitör zamanlarında hala geçerli mi? Ve eminim ki bu en iyi uygulamayı ararsanız daha fazla para cezası alabilirsiniz. Ama bunu son derece zor …

3
Uzun süredir yayınlanmamış kod için Git dallanma stratejisi
Ekibimizde, bireysel çalışma birimlerine (Hikayeler) ek olarak, daha uzun süren çalışma temalarımız var (Destanlar). Birden fazla hikaye destansı. Geleneksel olarak, her bir Öykü için özellik dallarımız vardı ve bunları KG'yi geçtiklerinde ustalıkla birleştirmek için birleştirdik. Ancak, Epic "özellik tamamlandı" sayılana kadar, bir Epic'te tamamlanmış hikayelerin yayınlanmasına devam etmek istiyoruz. Bu …

7
For döngüsünde olduğu gibi tamsayılar kullanılırken <= ve> = kullanılmamalı mı? [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 . 3 yıl önce kapalı . Öğrencilerime eşit testin şamandıra değişkenleri için güvenilir olmadığını, tamsayılar için iyi olduğunu açıkladım. Kullandığım ders kitabı&gt; ve …
15 loops 

2
Kişi std :: exception türetmeli / miras almalı?
İlk 'ciddi' C ++ kütüphanemi tasarlarken kendime şunu soruyorum: İstisnalardan türetmek iyi bir stil std::exceptionmi ve yavruları mı ?! Okuduktan sonra bile İstisna sınıfları tasarlama Kütüphanem için uygulanacak 'iyi sayıda' istisna nedir? Hala emin değilim. Çünkü, yaygın (ama belki de iyi değil) uygulamaların yanı sıra, bir kütüphane kullanıcısı olarak, bir …
15 c++  exceptions 

8
İstisna atma kurucularındaki hataları günlüğe kaydetmeli miyim?
Birkaç aydır bir uygulama yapıyordum ve ortaya çıkan bir modeli fark etmeye başladım: logger.error(ERROR_MSG); throw new Exception(ERROR_MSG); Veya yakalarken: try { // ...block that can throw something } catch (Exception e) { logger.error(ERROR_MSG, e); throw new MyException(ERROR_MSG, e); } Yani, ne zaman bir istisna atar ya da yakalarsam, onu kaydederdim. …

4
API'lar ve fonksiyonel programlama
Clojure gibi işlevsel programlama dillerine (kuşkusuz sınırlı) maruz kalmamdan, verilerin kapsüllenmesinin daha az önemli bir rolü olduğu görülmektedir. Genellikle haritalar veya kümeler gibi çeşitli yerel türler, nesneleri temsil etmek için tercih edilen para birimidir. Ayrıca, bu veriler genellikle değişmezdir. Örneğin, işte bu konuyla ilgili bir röportajda Clojure şöhretinden Zengin Hickey'den …


2
Temel sınıfları test etmekten kaçınmak uygun mudur?
Oldukça genel olması gereken esneklik / soyutlama vermek için "meta programlama" adil bir miktar ile bir temel sınıf var. Temel sınıftaki ortak yöntemleri kullanarak çok sayıda alt sınıfım var ve her alt sınıftaki tüm vakaları kapsayan davranış odaklı birim testlerim var. Temel sınıfı test etmeyi atlamak uygun mudur?

4
OOP uygulamasında parametre yönetimi
C ++ orta ölçekli bir OOP uygulaması OOP ilkeleri uygulama yolu olarak yazıyorum. Projemde birkaç sınıf var ve bazılarının çalışma zamanı yapılandırma parametrelerine erişmesi gerekiyor. Bu parametreler, uygulamanın başlatılması sırasında çeşitli kaynaklardan okunur. Bazıları kullanıcıların ana dizinindeki bir yapılandırma dosyasından okunur, bazıları ise komut satırı bağımsız değişkenleridir (argv). Ben de …

6
Strateji Modelinin Avantajları
Eğer if / then durumunda kodunuzu yazabiliyorsanız strateji modelini kullanmak neden yararlıdır? Örneğin: Bir TaxPayer sınıfım var ve yöntemlerinden biri farklı algoritmalar kullanarak vergileri hesaplıyor. Öyleyse neden if / then durumlarına sahip olamaz ve strateji modelini kullanmak yerine bu yöntemde hangi algoritmayı kullanacağını anlayamıyor? Ayrıca, neden TaxPayer sınıfındaki her algoritma …

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.