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


19
Diğer kişi aşırı karmaşık bir çözüm ürettiğinde kod incelemesinde ne diyorsunuz? [kapalı]
Geçen gün kodumu incelediğimde ekibimden birinin yazdığı. Çözüm tamamen işlevsel değildi ve tasarım çok fazla karmaşıktı - yani gereksiz bilgiler depolandı, gereksiz özellikler inşa edildi ve temelde kod, altın kaplama gibi pek çok gereksiz karmaşıklığa sahipti ve var olmayan sorunları çözmeye çalıştı. Bu durumda “neden bu şekilde yapıldı?” Diye soruyorum. …

8
Metot zincirleme kullanırken, nesneyi yeniden mi kullanırım yoksa bir tane mi yaratırım?
Gibi yöntem zincirleme kullanırken: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); iki yaklaşım olabilir: Bunun gibi aynı nesneyi tekrar kullanın: public Car PaintedIn(Color color) { this.Color = color; return this; } CarHer adımda bunun gibi yeni bir tür nesne oluşturun : public Car PaintedIn(Color color) { var car = new Car(this); // …

11
MVC'deki 'C' gerçekten gerekli mi?
Modelin ve Model-Denetleyici modelindeki görüntünün rolünü anlıyorum, ancak bir denetleyicinin neden gerekli olduğunu anlamakta zorlanıyorum. Bir MVC yaklaşımı kullanarak bir satranç programı yarattığımızı varsayalım; oyun durumu model olmalı ve GUI de görünüm olmalıdır. Bu durumda kontrolör tam olarak nedir? Bir döşemeye tıkladığınızda çağrılacak tüm fonksiyonlara sahip olan ayrı bir sınıf …

2
Git ve Mercurial'ın Popülerliğine İlişkin Ampirik Kanıtlar
2012! Mercurial ve Git'in ikisi de hala güçlü. İkisinin de değişimini anlıyorum. Anladığım kadarıyla herkesin bir başkası için bir tür tercihi var. Bu iyi. Her ikisinin de kullanım düzeyi hakkında bazı bilgiler arıyorum. Örneğin, stackoverflow.com'da Git'i aramak size 12000 hit, Mercurial size 3000'i alır. Google Trends Git için 1.9: 1.0 …
37 git  mercurial 

6
“Haritacı” geçerli bir tasarım deseni mı, yoksa “Fabrika” modelinin bir varyasyonu mu?
Gördüğüm ortak bir model , bir tür "ham" veri kaynağını (örneğin bir ADO.NET veya ) argüman olarak alan ve alanlarını haritalayan, Mappermodel olarak bilinen şeydir (karıştırılmaması DataMappergereken bir şeydir) . Bir işletme / etki alanı nesnesindeki özellikler. Örnek:DataReaderDataSet class PersonMapper { public Person Map(DataSet ds) { Person p = new …

7
Tüm DB tablolarında oluşturulan tarih ve son güncellenen tarih alanı dahil olmak üzere standardizasyon yapmak mantıklı mı?
Patronum şu anda ekibimize bazı geliştirme standartları uygulamaya çalışıyor, bu yüzden dün, çoğunlukla ortaya çıkana kadar iyi giden standartları tartışmak için bir toplantı yaptık. Tüm DB tabloları, tetikleyiciler tarafından güncellenen bir CreatedDate ve LastUpdatedDate sütununa sahip olacaktır. Bu noktada ekibimiz bir fikir şeması yaşadı; bir yanımız bunu tüm masalarda yapmanın …


16
Birçok programlama dilinin parçalarını öğrenmek acı veriyor mu?
Programcılık kariyerime 9. sınıfta BASIC ile başladım. Eklemek, çıkarmak ve yazdırmak için basit programlar yazarak biraz BASIC öğrendim. Sonra üniversiteye gittim ve Bilgisayar Bilişim ve Sistem Mühendisliği bölümünden mezun oldum. İlk yıl C öğretildi ve bu konuda iyi bir bilgim var. Sonra ikinci yılda C ++ 'ı öğrendim. Sadece bana …
37 php  c++  c  basic 

8
Java`da `this` anahtar sözcüğünü kullanmak için kabul edilen stil nedir?
Python veya Javascript (ve daha az nesne yönelimli diğerleri) gibi dillerden geliyorum ve Java'nın çalışma bilgimi, sadece yüzeysel bir şekilde bildiğim şekilde geliştirmeye çalışıyorum. thisMevcut örnek niteliklerine her zaman hazırlanmak kötü bir uygulama olarak mı kabul edilir ? Yazmak bana daha doğal geliyor. ... private String foo; public void printFoo() …

9
TDD'de bebek basamaklarınız nasıl?
Bugün TDD'yi eğitiyorduk ve aşağıdaki yanlış anlama noktasını bulduk. Görev, "1,2" girişi için, 3 olan sayıların toplamıdır. Yazdıklarım (C #): numbers = input.Split(','); return int.Parse(numbers[0]) + int.Parse(numbers[1]); //task said we have two numbers and input is correct Fakat diğer çocuklar bunu başka şekilde yapmayı tercih etti. İlk önce "1,2" girişi …
37 testing  tdd 

7
Daha büyük bir yazılım projesi için gereken süreyi tahmin etmenin zor olduğunu nasıl açıklayabilirim?
Küçük bir geliştiriciyim ve daha büyük bir yazılım projesini bitirmenin ne kadar zaman alacağını tahmin etmekte zorlanıyorum. Genel olarak mimariyi nasıl yapılandıracağımı biliyorum, ancak hangi ayrıntıları yapmam gerektiğini ve hangi sorunları çözmem gerektiğini bilmek zor. Bu yüzden daha büyük bir projeyi bitirmenin ne kadar zaman alacağını tahmin etmek zor, çünkü …

17
Uykusuz kalırsanız gerçekten yüksek kaliteli kod üretebilir misiniz? [kapalı]
İki gün boyunca kodlamayan programcıların uyumadığını, kahve ve Red Bull içtiğini duydum . Ayrıca The Social Network gibi filmlerde , bir sahnede Mark Zuckerberg'in 36 saat boyunca program yaptığını gösteriyorlar . Ayrıca Facebook, Google, foursquare vb . Firmalarda 24 saatten fazla uyumaksızın kodlayabilecekleri bir yerde okudum . Bu gerçekten doğru …

11
Soyut sınıflar / yöntemler eski midir?
Bir sürü soyut sınıf / yöntem yaratırdım. Sonra arayüzleri kullanmaya başladım. Şimdi, arayüzlerin soyut sınıfları modası geçmiş kılmadığından emin değilim. Tamamen soyut bir sınıfa mı ihtiyacınız var? Bunun yerine bir arayüz oluşturun. İçinde bazı uygulamalar olan soyut bir sınıfa mı ihtiyacınız var? Bir arayüz oluşturun, bir sınıf oluşturun. Sınıfı devralın, …

9
Kodlama sırasında analiz yaparak felci nasıl yenebilirim?
Yeni bir projeye başladığım zaman, çoğu zaman derhal uygulamanın detayları hakkında düşünmeye başlıyorum. “DataBaseHandler'ı nereye koyacağım? Onu nasıl kullanmalıyım? Onu kullanmak isteyen sınıflar, bazı Soyut süper sınıflardan uzanmalı mı?” Bir arayüz kullanmalı mıyım? Sınıfımda hangi seviyede soyutlamayı kullanacağım? istekleri gönderme ve veri ayrıştırma yöntemleri? " Uzatılabilirliği ve yeniden kullanılabilirliği kodlamak …

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.