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

3
Bağlantılı Listelerde her zaman kuyruk işaretçisi olmalı mı?
Anlayışım ... Avantajları: Sona ekleme O (N) yerine O (1) şeklindedir. Liste İki Katına Bağlı Bir Listeyse, sondan çıkarılması O (N) yerine O (1) olur. dezavantajı: Önemsiz miktarda fazladan bellek alır: 4-8 bayt . Uygulayıcı kuyruğu takip etmek zorundadır. Bu avantajlara ve dezavantajlara baktığımda, Bağlantılı Listenin neden bir kuyruk işaretçisi …

2
Yalnızca bir örneği olan Python sınıfları: Ne zaman (tek) sınıf örneği oluşturulur ve bunun yerine sınıfla ne zaman çalışır?
Yalnızca bir kez başlatılacak olan bir Python sınıfı verildiğinde, yani sınıfın yalnızca bir nesnesi olacaktır. Hangi durumlarda doğrudan sınıfla çalışmak yerine tek bir sınıf örneği oluşturmanın mantıklı olduğunu merak ediyordum. Benzer bir soru var , ama farklı bir odağı var: küresel değişkenleri ve fonksiyonları bir sınıfa ayırmak ve Python'a özgü …

2
İyi uygulamalarda KURU prensibi?
Programlamamda olabildiğince DRY ilkesini izlemeye çalışıyorum. Son zamanlarda OOP'ta tasarım kalıpları öğreniyorum ve kendimi bir sürü tekrarladım. Kalıcılığımı işlemek için bir Fabrika ve Ağ Geçidi desenleri ile birlikte bir Depo deseni oluşturdum. Uygulamamda bir veritabanı kullanıyorum, ancak Gateway'i değiştirebilmem ve istersem kalıcılığın başka bir türüne geçebilmem gerektiğinden bu önemli değil. …

3
İstemci isteği olmadan sunucudan istemciye veri aktarılıyor mu?
Stack Exchange'e göz atarken "3 yeni mesaj, göstermek için tıklayın" gibi dinamik bildirimler olduğunu fark ettim. Açıklamak üzere olduğum şeyler için bu tür bir dinamik güncellemeye sahip olmak istiyorum. Diyelim ki son 10 haber makalesinden oluşan bir atlıkarınca / slayt gösterisi oluşturmak istiyorum. Bu karuselin saatte bir sırada güncellenmesini istiyorum. …
11 server  client 

7
Arayüz tasarımında jenerikler ne zaman kullanılır?
Üçüncü tarafların gelecekte uygulamaya koymayı düşündüğüm bazı arayüzlerim var ve kendime temel bir uygulama sağlıyorum. Örneği göstermek için sadece bir çift kullanacağım. Şu anda, bunlar öğe: public interface Item { String getId(); String getName(); } ItemStack: public interface ItemStackFactory { ItemStack createItemStack(Item item, int quantity); } ItemStackContainer: public interface ItemStackContainer …
11 java  generics 

3
Foreach döngüsü ve değişken başlatma
Kodun bu iki sürümü arasında bir fark var mı? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Yoksa …
11 c#  performance  memory 

5
Scrum'da “teknik kullanıcı hikayelerine” izin veriliyor mu?
Scrum'da teknik kullanıcı hikayelerine izin veriliyor mu? Öyleyse, Scrum'da teknik kullanıcı hikayeleri yazmak için standart şablon nedir? Aynı mı As a <user> I want to do <task> so that I can <goal>?? Bazı bloglarda bir geliştirici-kullanıcı-olmayan bir hikaye olarak okudum, ama aynı zamanda Scrum'ın bunları zorunlu kılmadığını da okudum. Onlar …

1
Açık kaynak desteği nasıl askıya alınır? [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu, yalnızca bu yayını düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . Neredeyse her gün çeşitli kanallarda (Twitter, e-posta, GitHub) destek talepleri alan açık kaynaklı bir …

2
Performans için tip sistemi
Programların performans özelliklerini resmileştirmeye çalışan (statik) tip sistemler var mı? Bu tür girişimleri bulamıyorum. Tip sistemleri, programcıların cephaneliğinde programlar hakkında açıklama yapmak için en güçlü araçlardan biri olduğundan ve performansın kritik olduğu birçok örnek olduğundan, girişimlerin gerçekleştirildiğini hayal etmek çok zor görünmemektedir. programların depolama ve çalışma zamanı özellikleri hakkında en …

5
Bu senaryoda kompozisyon veya miras tercih etmeli miyim?
Bir arayüz düşünün: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Bu arayüz, farklı şekillerdeki dalgaları (örneğin SineWaveGeneratorve SquareWaveGenerator) üreten birkaç sınıf tarafından uygulanır . SoundWaveHam ses verilerine değil, müzik verilerine dayanan bir sınıf uygulamak istiyorum . Bir notun adını ve vuruş sayısı (saniye değil) cinsinden bir uzunluğunu alır …

5
Mutasyon yöntemleri için ayrı arayüz
Bazı kodları yeniden düzenleme üzerinde çalışıyorum ve sanırım tavşan deliğinden aşağı ilk adımı atmış olabilirim. Örneği Java ile yazıyorum, ancak sanırım agnostik olabilir. FooOlarak tanımlanan bir arayüzüm var public interface Foo { int getX(); int getY(); int getZ(); } Ve bir uygulama olarak public final class DefaultFoo implements Foo { …

5
Üç sayıyı karşılaştırmanın basit ve temiz yolu
Ben ifs bir dizi var bazı kod var , ama sadece dağınık hissediyorum. Temel olarak, üç tamsayıdan en büyüğünü seçmek ve hangisinin seçildiğini söylemek için bir durum bayrağı ayarlamak istiyorum. Mevcut kodum şöyle: a = countAs(); b = countBs(); c = countCs(); if (a > b && a > c) …
11 algorithms  c 

5
Her sprint başında erken alt görevler
Agile / Scrum kullanan yeni bir ekibe katıldım ve gelişim süreçleri şöyle: 1) geliştiriciler, kritik bir şeyi kaçırmamak için her sprint'ten önce her hikayeyi gözden geçirir. İş akışında bunun resmi bir durumu var. 2) Sprint başlama sırasında, tüm takım her bir hikayenin kaç hikaye puanına mal olacağına dair bir tahmin …
11 agile  scrum 


8
Kullanıcı arabirimi (veya diğer) özelliklerini tarih-kod kokusuna göre açıp kapatmak mı?
ASP.NET 2.0'da yazılmış, bazı işlevler eklememiz gereken korkunç bir sistemimiz var. Sorun, belirli bir ürünün belirli bir tarihten sonra başlatılan (ve diğerleri kapandığı) işletme için açılması gereken kullanıcı arayüzü özelliklerine sahip olması ve sayfanın mevcut işletme için aynı görünmesi gerektiğidir. Tarih tabanlı JavaScript kullanıcı arayüzü anahtarları fikrini içgüdüsel olarak bulduğumdan …

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.