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
İşlevsel gereksinimlerin eksikliği çevik midir?
Bugünlerde herkes çevik olmak istiyor. Çalıştığım her takımda, çeviklik şekli farklıydı. Günlük dikmeler veya planlama gibi bazı şeyler yaygındır, ancak diğer bölümler önemli ölçüde farklılık gösterir. Şu anki takımımda rahatsız edici bulduğum bir detay var. İşlevsel gereksinimlerin eksikliği. Sadece yazılı bir beklenti biçimi değil, aynı zamanda görevlerde ne yapılması gerektiği …

4
Tüm gereksinimleri toplamadan önce çıkış tarihine karar vermek çevik değil mi?
Craig Larman'ın UML ve Desenler Uygulaması kitabını okumaya başladım. Çok ilginç buluyorum çünkü bana işyerinde söylenenlerin çoğuna meydan okuyor. İhtiyaçların tek seferde tek seferde tam olarak toplanmadığını ve gereksinimlerin toplanmasını tamamlamak için birçok iterasyon gerektiğini okudum. Bu durumda, yarın yeni bir çığır açıcı gereklilik (veya gereksinim olarak maskelenen istek değişikliği) …

5
Sürekli entegrasyon hattınıza güvenecek kadar otomatik testiniz ne zaman var?
Testle sürekli entegrasyon, her zaman "sevk edilebilir" kodunu kontrol ettiğinizden emin olmak için kullanışlıdır. Bununla birlikte, kapsamlı bir test paketini sürdürmek gerçekten zordur ve genellikle, yapı yine de buggy olacak gibi hissettirir. CI boru hattı testinize ne kadar güvenmeniz gerekiyor? Yeterli testin ne zaman yapılacağına karar vermek için bir tür …


5
Strateji modeli ve bağımlılık enjeksiyonunu kullanarak kalıtımın yerini tamamen alabilir miyiz?
Örneğin: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Duck sınıfı tüm davranışları (soyut) içerdiğinden, MallardDuck(genişleten Duck) yeni bir sınıf oluşturmak gerekli görünmemektedir. Referans: İlk Baş Tasarım Deseni, Bölüm 1.

4
bir işlevi kötü uygulama olarak adlandırmanın yolu nedir?
Takip koduna sahibim: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Bu şekilde LatLng, örneğin başka bir sınıfta neyin olduğunu bilmenin sorumluluğunu ortadan …

6
Dependency Injection için en iyi tanım nedir?
Birisi bana her ulaştığında ve Bağımlılık Enjeksiyonunu kavramsal bir şekilde tanımlamamı ve yazılım tasarımında DI'yi kullanmanın gerçek artılarını ve eksilerini açıklamamı istediğinde. İD kavramlarını açıklamakta zorlandığımı itiraf ediyorum. Onlara her zaman tek sorumluluk ilkesi, miras kompozisyonu vb. Hakkında bilgi vermem gerekiyor. Herkes geliştiriciler için DI tanımlamak için en iyi yolu …

5
PostgreSQL gibi ilişkisel veritabanı için gerçekten tetikleyicilere ihtiyacım var mı?
Ben tetikleyiciler veritabanı tutarlı tutmak için saklanan verileri doğrulamak için kullanılabilir biliyorum. Ancak, neden veritabanında saklanmadan önce uygulama tarafında veri doğrulaması yapmıyorsunuz? Örneğin, istemcileri depolarız ve DDL düzeyinde kolayca yapılamayan bir doğrulama yapmak istiyoruz. https://severalnines.com/blog/postgresql-triggers-and-stored-function-basics Başka bir örnek denetimdir. Güncelleme Tetikleyiciler ve veritabanı işlemi birlikte nasıl çalışır? Örneğin, eklenen verilerin …

4
“Erken soyutlama” nedir?
Cümlenin etrafına atıldığını duydum ve bana argümanlar tamamen çılgınca geliyor (burada samanlık çekiyorsam özür dilerim, Niyetim değil), genellikle şu satırlarda bir şeyler gider: Genel davanın ne olduğunu bilmeden soyutlama yapmak istemezsiniz, aksi takdirde (1) soyutlamalarınıza ait olmayan şeyleri koyuyor veya (2) önemli şeyleri atlıyor olabilirsiniz. (1) Bana göre bu programcı …


4
Bir mikro hizmet mimarisi, mikro hizmet başına ayrı bir veritabanına ihtiyaç duyuyorsa, çok maliyetli ve yönetilemez. Neden ihtiyacımız var?
Mikro hizmetler hakkında okudum ve sadece izolasyon elde etmek için hizmet başına ayrı bir DB oluşturmak benim için mantıksız görünüyor. Ben sadece web hizmetleri ve tek bir veritabanı kullanarak aynı elde edebilirsiniz. Neden ihtiyacımız var? Ayrı bir veritabanı tartışmanın ötesinde bir şey. Yoksa ben yanlış mıyım? Bana bu konuda rehberlik …


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.