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
Kaynak kontrolünde silinmiş faydalı bir kod olup olmadığı nasıl belirlenir?
Yani bu soruyu okuyordum Referanssız kodu kaldırmalı mıyım? Tavsiyelerin bazıları, daha sonra gerekmesi durumunda kaynak referans kontrolü için referans gösterilmediğinden referanssız kodu silmekti. Silinen bu kodu, daha sonraki bir sürümünüzün (veya başka bir programcının) daha sonra bulabilmesi için nasıl düzenlersiniz? Ayrı bir dal mı oluşturuyorsunuz veya bir şekilde kaynak kontrolünde …

1
MVP deseninde Görünüm, UI içeriklerine dayalı bir Model nesnesi başlatmalı mı yoksa bu içerikleri Sunucu'ya parametre olarak mı aktarmalıdır?
Geliştirdiğim bir android uygulamasında MVP kalıbı kullanıyorum. Temelde 4 elementim var: Yeni bir kullanıcının eklenebileceği AddUserView: AddUserPresenter UserInfo (pojo) UserInfoManager (iş mantığı ve depolama yöneticisi) Sorum şu: AddUserView içinde "Ekle" düğmesine bastığımda, metin görünümlerinin içeriğini almak, yeni bir UserInfo başlatmak ve Presenter'a iletmek gerekir. Yoksa AddUserView sadece textViews içeriğini almak …

3
Bir işlev başka bir işlevden değer alan saf kabul edilir mi?
Yan etkileri olmayan işlevler yaparken varsayılan değişken değerleri işlemek için bir yol bulmaya çalışıyorum ve aşağıdaki ile sona erdi: function getDefaultSeparator() { return ':'; } function process(input, separator) { var separator = separator || getDefaultSeparator(); // Use separator in some logic return output; } Varsayılan ayırıcı diğer işlevlerde kullanılacaktır ve …

1
Dizilere dayalı DEĞİL Bilgisayar Mimarileri [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ı . Wadler'in Fonksiyonel Programlama için Monads (Haskell) hakkındaki orijinal makalesi, Uzun bir geçmişe sahip başka …


2
Çevrimdışı sistemle senkronizasyon
Ben veri üreten ve sunucuya geri gönderir mobil cihazdan (gömülü bir uygulama var) iş verilerini senkronize edecek bir sistem tasarlıyorum. Senkronize edilen her satır, veritabanında belirli bir iş günlüğü oluşturur. Senkronize ettiğim şey, iş verilerimin son değişiklik tarihinden daha düşük bir tarihle (senkronizasyon verileri dahilinde) veri oluşturuyorsa, yok saymalı ve …

4
İş nesnesi sınıfı tasarımın bu “tamamen halka açık” zihniyetine nasıl karşı çıkılır?
İş nesnelerimiz üzerinde çok sayıda birim testi ve yeniden düzenleme yapıyoruz ve sınıf tasarımı konusunda diğer akranlardan çok farklı görüşlere sahibim . Ben hayranı değilim örnek bir sınıf: public class Foo { private string field1; private string field2; private string field3; private string field4; private string field5; public Foo() { …

2
Kod tabanını kademeli olarak bağımlılık enjeksiyon kabına taşıyın
Ben "anti-desen" singletons, statik yöntemler ile yardımcı sınıfları ve newanahtar kelimeleri kullanarak kendi bağımlılıkları oluşturma sınıfları ile büyük bir kod temeli var . Bir kodun test edilmesini çok zorlaştırır. Kod yavaş yavaş bağımlılık enjeksiyon kabına taşımak istiyorum (benim durumumda Guice, çünkü bir GWTproje olduğu için ). Bağımlılık enjeksiyonu anlayışımdan, hepsi …

7
Neden daha çok doğal dil programlama dili yok?
Birden fazla doğal dilde mevcut ve genişletilebilir programlama dilleri var mı? Örneğin, bir do..whiledöngü olan bir İngilizce sürüm, bir döngü olan bir İspanyolca sürüm, bir ile hacer..mientasbir Fransızca sürüm ve bir faire..pendantile bir Hollandalı sürüm doe..terwijl. Bu tür uygulamaları düşünebildiğim tek 'programlama dili' Microsoft VBA. Bonus soru: Neden birden fazla …

2
`Vektör <float> .Equals` dönüşlü olmalı mı yoksa IEEE 754 anlambilimine uygun mu?
Eşitlik için kayan nokta değerleri karşılaştırılırken iki farklı yaklaşım vardır: NaNIEEE 754 şartnamesine uyan kendine eşit olmamalıdır . NaNEşdeğerlik ilişkisinin tanımlanması için gerekli olan refleksivitenin matematiksel özelliğini sağlayan kendisine eşit olmak C # ( floatve double) içindeki yerleşik IEEE kayan nokta türleri ve ==ve !=(ve ilişkisel operatörler gibi &lt;) için …

3
Aynı ada sahip Sınıflarla nasıl başa çıkılır (farklı paketler)
Ben ve Ar-Ge ekibim büyük bir kod tabanına sahibiz. İş mantığımızı birden fazla pakete böldük. bazıları aynı isimlere sahip sınıflara sahiptir . Tahmin edebileceğiniz gibi, her iki sınıfa da aynı Java dosyasında başvurulduğunda adlar çakışıyor. Örneğin: com.myapp.model (package) - Device (class) - ... com.myapp.data (package) - Device (class) - ... …

3
C'nin değişkenlerin “gerçek” boyutlandırması ne kadar yararlıdır?
Beni her zaman sezgisel olarak C'nin olumlu bir özelliği olarak (şey, aslında gcc, clang, ... gibi uygulamaların) vuran bir şey, çalışma zamanında kendi değişkenlerinizin yanında gizli bilgi depolamamasıdır. Bununla demek istediğim, örneğin "uint16_t" türünde bir "x" değişkeni istediyseniz, "x" değerinin yalnızca 2 bayt yer kaplayacağından (ve türü gibi gizli bilgileri …

5
Uçucu bir değişken bildirmek ne demektir?
Birçok düşük seviyeli program, bellek eşleme ve benzeri türler için uçucu anahtar kelimeyi kullanır, ancak GERÇEKTEN arka planda ne yaptığı konusunda biraz kafam karıştı . Başka bir deyişle, derleyici bellek adresini "optimize etmediğinde" ne anlama gelir?
9 c++  c  low-level 

2
Veri Odaklı Arabirimlere Programlama
Kod tabanımızın aşağıdaki tarzda yazılmış bir kısmı vardır: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List&lt;IScheduledTask&gt; Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl : IScheduledTask { public …

1
Python'un birleşmesi, katılmak için öğelere değil, bir tasarım nedeni ile Ruby veya Smalltalk ile karşılaştırıldığında sembole odaklanıyor gibi görünüyor?
OOP'un temel taşlarından birinin, ilgilenmek istediğimiz öğeler olan nesnelerimiz olduğunu ve sonra onlara mesajlar gönderdiğimizi düşündüm. Yani doğal görünebilir, ben bir koleksiyon öğeleri var ve bunu yapmak için onları bir dizeye koymak gerekir: ["x", "o", "o"].join(" | ") # joining a tic-tac-toe row in Ruby (Smalltalk bunu aynı şekilde yapar). …

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.