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

4
Sabitlerim için gerçekten tüm büyük harfleri kullanmalı mıyım?
Öncelikle kaynak kodunu düzenlemek için pylint kullanan bir Python programcısıyım. Biri hariç tüm uyarıları kaldırabilirim: Bir sabit için geçersiz ad. Adı tüm büyük harflerle değiştirmek onu düzeltir, ama gerçekten yapmam gerekir mi? Bunu yaparsam, değişkenlerin çoğu sabit olduğu için kodumun çirkin göründüğünü anlıyorum (pylint'e göre).

5
Mikro servisler ve saklı prosedürler
Bir mikro hizmet mimarisinde saklı yordamlar kötü uygulama olarak mı kabul edilir? İşte düşüncelerim: mikro hizmetlerde bulunan çoğu kitap, mikro hizmet başına bir veritabanı önerir. Saklı yordamlar tipik olarak monolitik bir veritabanı üzerinde çalışır. Yine çoğu mikro hizmet mimarisi kitabı, özerk ve gevşek bir şekilde eşleşmeleri gerektiğini belirtiyor. Özellikle Oracle'da …



12
Genel nesneleri bir kapta depolamak ve ardından nesneyi alıp kapsayıcıdan nesneleri indirmek kod kokusu mu?
Örneğin, Player'ın yeteneğini artıracak bazı araçlara sahip bir oyunum var: Tool.h class Tool{ public: std::string name; }; Ve bazı araçlar: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; MagicCloth.h class MagicCloth : …

4
Aslında bir bayt akışı nedir?
Herhangi biri bana, bayt akışının gerçekte ne içerdiğini açıklayabilir mi? Yalnızca bayt (onaltılık veri) veya ikili veri veya yalnızca ingilizce harfler içeriyor mu? Ayrıca "ham veri" terimi konusunda kafam karıştı. Biri benden "4 bayt veriyi tersine çevirmemi" istedi ise, o zaman verinin hex kodu ya da ikili kod olduğunu varsaymalıyım?

3
Özel HTTP yöntemlerini uygulamada herhangi bir sorun var mı?
Aşağıdaki biçimde bir URL’miz var / Örnek / {instancetype} / {InstanceID} Standart HTTP yöntemleriyle arayabilirsiniz: POST, GET, DELETE, PUT. Ancak, "Taslak olarak kaydet" veya "Curate" gibi gerçekleştirdiğimiz birkaç işlem daha var. DRAFT, VALIDATE, CURATE gibi özel HTTP yöntemlerini kullanabileceğimizi düşündük. Bence standartlar bu yana kabul edilebilir. "HTTP / 1.1 için …
34 rest  http 

3
C ++ 11, std lib nesnelerini dinamik / paylaşımlı kütüphane sınırları arasında geçirme konusundaki endişelerini ele aldı mı? (yani, borçlar falan)?
C ++ hakkındaki en büyük şikayetlerimden biri, pratikte std kütüphanesi nesnelerinin dinamik kütüphanenin (yani dll / so) sınırlarının dışına aktarılmasının ne kadar zor olduğu. Std kütüphanesi genellikle sadece başlıktır. Bazı harika optimizasyonlar yapmak için harika. Bununla birlikte, dll'ler için, genellikle bir std kütüphane konteynırlarının iç yapısını / kodunu etkileyebilecek farklı …
34 c++  libraries  c++11 

4
Küçük Endian kazandı?
Yakın zamanda Büyük ve Küçük Endian savaşları hakkında bir şeyler öğretirken, bir öğrenci bunun çözülüp çözülmediğini sordu ve bilmediğimi fark ettim. Wikipedia makalesine bakıldığında , en popüler işletim sistemi / mimarlık çiftlerinin Little Endian kullandığı, ancak İnternet Protokolünün, paket başlıklarında sayısal değerleri aktarmak için Big Endian belirttiği anlaşılıyor. Bu mevcut …

3
Microsoft SQL Server'da neden dizelerin önüne N koymamız gerekiyor?
T-SQL öğreniyorum. Gördüğüm örneklerden, bir varchar()hücreye metin eklemek için, sadece eklenecek dizeyi yazabiliyorum, ancak nvarchar()hücreler için her örnek dizeleri N harfiyle öneklendirdi. Aşağıdaki sorguyu nvarchar()satır içeren bir tabloda denedim ve iyi çalışıyor, bu nedenle N öneki gerekli değil: insert into [TableName] values ('Hello', 'World') Gördüğüm her örnekte neden dizeler N'ye …

8
Bir sınıfın tek sorumluluk ilkesini karşılayıp karşılamadığı nasıl belirlenir?
Tek Sorumluluk İlkesi, yüksek uyum ilkesine dayanır. İkisi arasındaki fark, yüksek derecede yapışkan bir sınıfın, güçlü bir şekilde ilişkili olan bir dizi sorumluluk içermesidir; oysa, SRP'ye bağlı olan sınıfların yalnızca bir sorumluluğu vardır. Ancak, belirli bir sınıfın bir takım sorumluluklar içerip içermediğini ve dolayısıyla sadece yüksek derecede uyumlu olup olmadığını …


21
Büyük BT projeleri neden başarısız oluyor veya büyük maliyet / zaman aşımına uğraıyor? [kapalı]
Her zaman toplam veya neredeyse tamamen felaket olan büyük ölçekli dönüşüm veya entegrasyon projelerini okudum. Her ne kadar bir şekilde başarmayı başarabilseler de, patlamanın zamanlaması muazzamdır. Büyük projelerin arızalanmaya daha yatkın olmasının ardındaki asıl sebep nedir? Çevik bu tür projelerde kullanılabilir mi yoksa geleneksel yaklaşım hala en iyisidir. Avustralya’dan bir …

5
Python karışımları anti-patern midir?
Bunun pylintve diğer statik analiz araçlarının her şeyi bilmediğini ve bazen onların tavsiyelerine uyulmaması gerektiğinin farkındayım. (Bu sadece conventions için değil, çeşitli mesaj sınıfları için geçerlidir .) Eğer sınıflarım varsa class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): def __init__(self): self.stack = some() self.my_var = …

3
Kapalı kaynak bir uygulamadan bir GPL kitaplığına bağlanabilir miyim?
Tamam, herkes tekrarlanan sorular hakkında bağırmaya başlamadan önce, evet, burada bunun gibi birkaç soru gördüm. Fakat hiçbiri soruyu cevaplamıyor. GPL-ed kütüphanesine bu kütüphaneyi değiştirmeden bağlarsam, kaynak kodumu serbest bırakmam gerekir mi? Bu soruya göre cevap evet! Ancak bu cevap benim için tatmin edici değil. Cevap temel olarak kodumu açık kaynak …
34 gpl  linking 

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.