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
Durum bilgisi olan bir sistem için birim testleri tasarlama
Arka fon Test Odaklı Geliştirme , okulu bitirdikten sonra ve endüstride popüler hale geldi. Öğrenmeye çalışıyorum, ancak bazı önemli şeyler hala benden kaçıyor. TDD taraftarları aşağıdakiler gibi birçok şey söylüyor (bundan böyle "tek iddia ilkesi" veya SAP olarak anılacaktır ): Bir süredir TDD testlerinin nasıl olabildiğince basit, etkileyici ve zarif …

6
Bir tamsayı sarmalamasının "geri alınması"
Birkaç yıl önce ilginç bir teorik sorunla karşılaştım. Hiç bir çözüm bulamadım ve uyuduğumda beni rahatsız ediyor. Diyelim ki x adında bir int içinde bir sayı tutan bir (C #) uygulamanız var. (X değeri sabit değildir). Program çalıştırıldığında x, 33 ile çarpılır ve daha sonra bir dosyaya yazılır. Temel kaynak …
20 c# 

4
Profesyonel bir programcı olmayan ve asla olmayacak birine yardımcı olmak, kullanımı ve yorumlanması daha okunaklı ve kullanılabilir bir kod yazma [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ı . Ben Elvis'im, Einstein olmayı öğrenmeye çok çalışıyorum. Mort için çalışıyorum. Bu çılgın aptal ne …

7
Bunu if ifadelerinin veya anahtarların uzun bir zincirinin yanında yapmanın daha akıllı bir yolu var mı?
İleti alan bir IRC botu uyguluyorum ve hangi işlevleri arayacağınızı belirlemek için bu iletiyi kontrol ediyorum. Bunu yapmanın daha akıllıca bir yolu var mı? 20 komuta çıktıktan sonra çabucak kontrolden çıkmış gibi görünüyor. Belki de bunu soyutlamanın daha iyi bir yolu var mı? public void onMessage(String channel, String sender, String …

10
Ekibim yeniden düzenleme sonrasında sık sık yapılan hataları nasıl önleyebilir?
Size biraz bilgi vermek için: Yaklaşık on iki Ruby on Rails geliştiricisine (+/- stajyer) sahip bir şirkette çalışıyorum. Uzaktan çalışma yaygındır. Ürünümüz iki parçadan oluşur: oldukça şişman bir çekirdek ve üzerine inşa edilmiş büyük müşteri projelerine kadar incedir. Müşteri projeleri genellikle çekirdeği genişletir. Önemli özelliklerin üzerine yazma gerçekleşmez. Çekirdeğin acil …


2
Monadlar miras hiyerarşilerine uygulanabilir (belki tercih edilebilir) bir alternatif midir?
Bir dil-agnostik kullanmak için gidiyorum açıklamasına ilk Monoids anlatan böyle monad'ların: Bir monoid parametre olarak bir tür almak ve aynı tür dönmek fonksiyonların (kabaca) kümesidir. Bir tek hücreli bir alan işlevler (kabaca) bir dizi sarma bir parametre olarak türüne ve aynı ambalaj tipini verir. Bunların tanım değil, açıklama olduğunu unutmayın. …

1
PHP de dahil / gerektirir vs ad alanlarının artıları ve eksileri?
Geçenlerde PHP'de ad alanlarını kullanmaya başladım. Onları ilk gördüğümde, söz dizimlerinin çirkin olduğunu düşündüm ve onları asla kullanmayacağım. Ancak, bir daha asla bir include / requir deyimi yazmak zorunda kalmasını sağlayan bir otomatik yükleyici (spl_autoload_register) oluşturdu. Ad alanlarını seviyorum, ancak include / requir ifadeleri üzerinde herhangi bir nesnel fayda var …
20 php  namespace 

7
Statik veriler bir veritabanında mı yoksa başka bir yerde mi saklanmalıdır?
Şu anda bazı yazılımlar üzerinde çalışıyorum ve bununla hangi rotayı kullanacağımdan emin değilim. Bir mobil cihazda bir yerde saklamak için bazı verilerim var. Veriler asla değişmeyecek ve hiyerarşik bir ilişkiye sahip olacak ve ekranı doldurmak için kullanılacak. Bu verinin makul bir miktarı vardır. Aşağıdaki seçeneklere sahibim: Bir dizi numaralandırma / …
20 design 

4
Bir Java programının üst düzey yapısı nasıl belgelenir?
Arka plan: Ortak çalışanlarımız ve ben akademik bir dergi için bir makale yazıyoruz. Araştırmamız sırasında Java'da bir simülasyon programı yazdık. Simülasyon programını başkalarının kullanabileceği şekilde serbest bırakmak istiyoruz. Kodu bir GitHub deposunda barındırmaya karar verdik. Başkalarının kullanımını kolaylaştırmak için, programımız için aşağıdakiler de dahil olmak üzere iyi belgeler yazmak istiyoruz: …

6
Kademeli Yazma: “Statik yazım sistemine sahip hemen hemen her dilde dinamik yazım sistemi de vardır”
Bu iddia ile Aleks Bromfield devletler: Statik tip sistemli hemen hemen her dilde dinamik tip sistem de bulunur. C dışında, bir istisna düşünemiyorum Bu geçerli bir iddia mı? Çalışma zamanında Yansıma veya Yükleme sınıflarıyla Java'nın bu şekilde biraz aldığını anlıyorum - ancak bu 'kademeli yazma' fikri çok sayıda dile genişletilebilir …

5
“En düşük geliştirici” olarak teknik borçla mı mücadele ediyorsunuz?
Diyelim ki bir şirkette çalışıyorsunuz ve yaptığınız şey onlar için yazılım geliştirmek. Büyük resim hakkında hiçbir fikriniz yok ya da hafif. Sahip olduğunuz şey, sorun izleme sistemi aracılığıyla size atanan görevlerdir. Size görevler veriliyor, onları görevin tanımladığı şekilde çalıştırıyorsunuz, geri gönderiyorsunuz 2 tamsayı eklemek gibi: function add(a,b){return a + b;} …


4
Havuz kalıbı ne zaman kullanılır?
Son zamanlarda, bir ORM ile birlikte veri havuzu modelini kullanmanın iyi bir uygulama olmadığını okudum. Anladığım kadarıyla bu, SQL veritabanı üzerinde sağladıkları soyutlamanın kalıp tarafından içerilemeyecek kadar sızıntılı olması. Bununla ilgili birkaç sorum var: ORM'leri kapatmak istiyorsanız ne yaparsınız? Bir havuzda içermezseniz, uygulamanızda ORM'ye özel kodunuz olacaktır. Bir ORM kullanmadığınızda …

3
TDD ve Yeniden Düzenleme ile ilgili Zorluklar (Veya - Neden Olması Gerekenden Daha Acı Verir?)
Kendime TDD yaklaşımını kullanmayı öğretmek istedim ve bir süredir üzerinde çalışmak istediğim bir projem vardı. Büyük bir proje değildi, bu yüzden TDD için iyi bir aday olacağını düşündüm. Ancak, bir şey ters gitti gibi hissediyorum. Bir örnek vereyim: Üst düzeyde projem, Microsoft OneNote için Projeleri daha kolay izlememe ve yönetmeme …

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.