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
Sabitleri nereye koymalı ve neden?
Çoğunlukla büyük uygulamalarımızda, genellikle "sabitler" için yalnızca birkaç yerimiz vardır: GUI ve iç kalıcılar için bir sınıf (Sekme Sayfa başlıkları, Grup Kutusu başlıkları, hesaplama faktörleri, numaralandırmalar) Veritabanı tabloları ve sütunları için bir sınıf (bu bölüm kod oluşturulur) artı bunlar için okunabilir adlar (el ile atanır) Uygulama mesajları için bir sınıf …

3
Uygulaması beklemede olan ancak soyut olması planlanmayan yöntemler için NotImplementedError yükseltmek geleneksel midir?
NotImplementedErrorUygulamak istediğim herhangi bir yöntem için bir yükseltme yapmayı seviyorum , ancak henüz yapmadığım buralarda. Zaten kısmi bir uygulamam olabilir, fakat raise NotImplementedError()henüz hazırlanmadığım için hazırlayın. Öte yandan, sözleşmelere bağlı kalmayı da seviyorum, çünkü bu diğer insanların kodumu korumasını kolaylaştıracak ve sözleşmeler iyi bir nedenle var olabilir. Ancak NotImplementedError için …

12
Pirated yazılımının bir şirkette kullanımı [kapalı]
Birkaç ay önce bir şirkette mühendis olarak çalışmaya başladım. Küçük bir şirket ve temelde yaptıkları hizmetlere telefonlara cevap vermek. Artık normal telefonlardan IP telefonlara geçiyorlar, böylece bilgisayar işlerinde daha önemli bir yer alıyor. Bununla birlikte, işçiler tarafından kullanılan tüm bilgisayarlar, işletim sistemleri de dahil olmak üzere korsan yazılımla donatılmıştır. Dahası, …
33 ethics 

7
Görevi yerine getirmeden bir kütüphane mi kullanmalısınız? [kapalı]
Bir görevi yerine getirmek için açık kaynaklı bir JavaScript eklentisi kullanabileceğim bir durumdayım. Ama onu kullanmaya çalıştığımda, kendimi zaten yaptığım şeylerin çoğunu yeniden tasarlamam gerektiğini ve mütevazi görüşüme göre projeye kesin bir karmaşıklık kattığımı fark ettim. Oysa aynı görevi temiz bir kodla başarabilirim, kendim yapabilirim ve şu ana kadar yaptığım …

6
Bloktaki ek satır - Temiz Koddaki ek parametre
bağlam In Temiz Kod , sayfa 35, diyor Bu, if ifadelerindeki blokların, başka ifadelerin, while ifadelerinin vb. Bir satır uzunluğunda olması gerektiği anlamına gelir. Muhtemelen bu hat bir işlev çağrısı olmalıdır. Bu sadece çevreleyen işlevi küçük tutmakla kalmaz, aynı zamanda belgesel değeri de ekler çünkü blok içinde çağırılan işlev güzel …
33 clean-code  solid 

9
Pahalı programcılar için durumu nasıl yapabilirim?
Şirketimizde, Mobil Kullanıcı Arabirimi geliştirmek gibi görünüşte karmaşık olmayan birçok şey yapmamız gerekiyor. Diyelim ki deneyimli programcılar bize yeni başlayanlar kadar 4 kat mal oluyor Her ikisi de temelde görünen basit şeyleri aynı sürede tamamlayabiliyor. Aradaki fark, deneyimli programcıların daha az hata üretmesi ve kodlarının daha istikrarlı olması vs.'dir. Yeni …

6
Geliştiricinin dizüstü bilgisayarlarına kritik bir veritabanı depolamak için iyi bir güvenlik uygulaması nedir?
Birkaç sorumuz var: Geliştiricilerin, makinelerindeki üretim veritabanının bir kopyasına ihtiyacı vardır. Geliştiriciler, App.config dosyalarındaki söz konusu veritabanının şifresine sahiptir. Söz konusu veritabanındaki verilerin tehlikeye girmesini istemiyoruz. Önerilen birkaç çözüm ve sakıncaları: Tam disk şifreleme. Bu, tüm sorunları çözer, ancak dizüstü bilgisayarın performansını düşürür ve biz bir başlangıçız, bu nedenle powerhorses …

4
Scrum - Bir sprint sırasında takım üyeleriyle meşgul olanlar
Bu yüzden, bir scrum sprint, belirli bir özellik setinin uygulanması gereken belli bir süredir. Ve bir scrum takımı bu özellikleri sunmaya kararlı olan tüm insanlardan oluşur, bunların çoğu genellikle geliştiriciler ve testçilerdir. Bu kuralları belirledikten sonra, tüm bu sprint boyunca bu insanların hepsini nasıl meşgul tutacağı merak edilebilir. Sprintin başında …
33 agile  scrum  sprint 

5
İstisnalar için sözleşmeleri nasıl oluşturabilir ve uygulayabilirim?
Takım isSuccessfulliderimi, hata kodu ile bir bool veya enum döndürmek yerine C ++ 'da istisnalar kullanmaya izin vermeye ikna etmeye çalışıyorum . Ancak onun bu eleştirisine karşı koyamam. Bu kütüphaneyi düşünün: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** Does blah and blah. */ void B() …
33 c++  exceptions 


5
Silme işlemi, çoğu veri yapısına eklemekten çok neden daha zordur?
Silme işleminin birçok (çoğu?) Veri yapısının yerleştirilmesinden çok daha zor olmasının nedeninin belirli bir nedeni olduğunu düşünebiliyor musunuz? Hızlı örnek: bağlantılı listeler. Ekleme önemsiz olmakla birlikte, silme işleminin önemli ölçüde zorlaştıran birkaç özel durumu vardır. AVL ve Red-black gibi kendiliğinden dengelenen ikili arama ağaçları, ağrılı silme uygulamasının klasik örnekleridir. Çoğu …


1
raw, weak_ptr, unique_ptr, shared_ptr vb… Bunları akıllıca nasıl seçersiniz?
C ++ 'da çok fazla işaretçi var ancak C ++ programlamada (özellikle Qt Framework ile) 5 yıl kadar dürüst olmak gerekirse, sadece eski ham işaretçiyi kullanıyorum: SomeKindOfObject *someKindOfObject = new SomeKindOfObject(); Bir sürü "akıllı" işaretçi olduğunu biliyorum: // shared pointer: shared_ptr<SomeKindofObject> Object; // unique pointer: unique_ptr<SomeKindofObject> Object; // weak pointer: …

9
QA personeli önbellekleme mantığını göremediklerini nasıl test edebilir?
Web uygulamamda sadece bir önbellek katmanı kullandım ve şimdi önbelleğe alma işlemi kullanıcı için şeffaf olduğundan, KG'nin bunu nasıl test etmesi gerektiğini merak ediyorum. Benim bir fikrim, önbelleği dolduran kodu çağıran yöntemlere giriş yapmak ve bir nesne önbellekten çekildiğinde ve veritabanından yeniden oluşturma gerektirdiğinde kayıt yapmak ve ardından test ediciler, …
33 testing  caching 

6
Olay odaklı bir mimaride ilk durum nasıl ele alınır?
Bir de olay kaynaklı mimari bir olay sistemi üzerinden gönderildiğinde her bir bileşeni sadece hareket eder. Fren pedalına ve fren lambasına sahip bir varsayımsal otomobil hayal edin. Fren lambası dönüşler üzerinde bir aldığında brake_on , olay ve kapalı bir aldığında brake_off olayı. Fren pedalı bir gönderir brake_on aşağı basıldığında olayı …

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.