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
Tek onaylı birim testleri DRY ilkesini ihlal etmiyor mu?
Birim testleri ne zaman yazsam , testler başarısız olduğunda hata ayıklamayı kolaylaştırmak için her zaman test başına tek bir onaylamaya çalıştım . Ancak bu kurala uyduğumda, her testte aynı kodu sürekli kopyaladığımı hissediyorum ve daha fazla teste sahip olmak, okumak ve korumak için geri dönmek zorlaşıyor. Tek onaylama testi DRY'yi …

2
İşlevsel bir bilgisayar yapabilir miyiz?
FP'nin yaptığı gibi, sonuçta tüm programlarımız yapılandırılmıştır. Yani, onları ne kadar saf ya da işlevsel yaptığımız önemli değil - her zaman meclise çevrilirler, bu yüzden aslında davlumbazların arkasında yatan şey talimatlar, durumlar ve döngülerdir. FP'yi taklit ediyoruz. Bir donanım noob olarak, sorum şu: neden şeyleri işlevsel bir tarzda hesaplayan bilgisayar …

2
Clojure'daki köşeli parantezler ve kıvırcık parantezler hala S ifadeleri mi?
Lisp'i öğrenmeye çalışıyorum ve orada bulunan tüm Lisps'lere ve farklılıklarına bakıyorum. Şema'nın bazı uygulamalarında, okunabilirlik için yuvarlak köşeli parantezler ile değiştirilebilir şekilde köşeli parantezler kullanabileceğinizi görüyorum, bu yüzden aynı muamele gördükleri için, hala her şey gibi sadece S-ifadeleri olduğunu varsayıyorum. Bununla birlikte, Clojure'da, köşeli parantezlerin ve süslü parantezlerin vektörler ve …
12 lisp  clojure 

2
Yapılar için neden typedefs kullanılır?
C'de (ANSI, C99, vb.), yapılar kendi ad alanlarında yaşar. Bağlantılı bir liste için bir yapı şöyle görünebilir: struct my_buffer_type { struct my_buffer_type * next; struct my_buffer_type * prev; void * data; }; Bununla birlikte, çoğu C programcısı için aşağıdaki gibi bu yapıları otomatik olarak yazmak oldukça doğal görünmektedir. typedef struct …

6
Değişmez tiplerin dezavantajları nelerdir?
Sınıf örneklerinin değişmesi beklenmediğinde kendimi gittikçe daha fazla değişmez tür kullandığımı görüyorum . Daha fazla çalışma gerektirir (aşağıdaki örneğe bakın), ancak türlerin çok iş parçacıklı bir ortamda kullanılmasını kolaylaştırır. Aynı zamanda, değişebilirlik kimseye fayda sağlamayacak olsa bile, diğer uygulamalarda değişmez türleri nadiren görüyorum. Soru: Değişmez tipler neden diğer uygulamalarda bu …
12 c#  immutability 

2
Alt çizgi ile değişkenler / üyeler başlatılabilir derleyici bulmaca?
Liseden beri bana böyle değişkenleri tanımlayan öğretildi: int _a; veya int __a; kötü uygulama olarak düşünülmelidir, çünkü bu sonunda geçici değişkenleri adlandırmak için altçizgi ile başlayan değişkenleri kullanan derleyicileri bulmaktadır. Bildiğim kadarıyla bu, bazı kişilerin adın sonunda alt çizgiyi taşımayı sevmesinin nedeni budur: int a_; Ancak, alt çizgi başlangıç ​​değişkenleri …

4
Bir web uygulamasından gönderilen otomatik e-postaları yönetme
Bir web uygulaması tasarlıyorum ve otomatik e-posta göndermeyi yönetmek için mimariyi nasıl tasarlayacağımı merak ediyorum. Şu anda bu özelliği web uygulamamda oluşturuyorum ve e-postalar kullanıcı girişine / etkileşimlerine (yeni bir kullanıcı oluşturmak gibi) göre gönderiliyor. Sorun, bir posta sunucusuna doğrudan bağlanmanın birkaç saniye sürmesidir. Uygulamamı büyütmek, bu gelecekte önemli bir …

5
Java uygulamasında çalışma zamanı istisnası atma
Teknik bir müşteri rolünde müvekkilim için kurumsal Java uygulaması tasarlayan bir yüklenici olarak çalışıyorum. Uygulama son kullanıcılar tarafından kullanılacak ve biz ayrılırken uygulamayı destekleyecek bir destek ekibi olacak. Birlikte çalıştığım diğer teknik müşteriler, istisna işlemenin kodu kirleteceği izlenimi altındadır. Sistem, kontrol edilen istisnaları yalnızca Hizmet katmanından atmalı ve kodun geri …



8
Tüm numaralandırmaları bir dosyaya dahil etmek ve birden fazla sınıfta kullanmak kötü bir uygulama mıdır?
Ben hevesli bir oyun geliştiriciyim, nadiren indie oyunlarında çalışıyorum ve bir süredir ilk başta kötü bir uygulama gibi görünen bir şey yapıyorum, ama gerçekten burada bazı deneyimli programcılardan cevap almak istiyorum. Diyelim ki enumList.hoyunumda kullanmak istediğim tüm numaralandırmaları beyan ettiğim bir dosya var : // enumList.h enum materials_t { WOOD, …

2
Hata kodları neden reddedilir?
Çok sık C kodu döndürülen hata kodları, örneğin return -EINVALyerine olumsuz görüyorum return EINVAL. Neden olumsuzlama kullanılır?
12 c 

3
ORM katmanı üzerinde bir soyutlama katmanı oluşturma
Havuzlarınız varsa, veritabanından zaten soyutlanmış bir ORM kullandığınıza inanıyorum. Ancak, şu anda çalıştığım yerde, birisi daha sonra ORM'yi değiştirmek istediğimizde ORM'yi soyutlayan bir katmana sahip olmamız gerektiğine inanıyor. Birçok ORM üzerinde çalışacak bir katman oluşturmak gerçekten gerekli mi yoksa başın üstünde mi? Düzenle Daha fazla ayrıntı vermek için: AutoMapper ile …
12 database  orm 

7
Yeniden düzenleme ve Açık / Kapalı prensibi
Son zamanlarda temiz kod geliştirme hakkında bir web sitesi okuyor (İngilizce olmadığı için buraya bir bağlantı koymayın). Bu site tarafından ilan edilen ilkelerden biri Açık Kapalı Prensiptir : her yazılım bileşeni genişletme için açık ve modifikasyon için kapalı olmalıdır. Örneğin, biz uygulanacak ve bir sınıf test ettik, biz sadece hataları …

9
Kopyala-Yapıştır Test Kodu: Bu Ne Kadar Kötü?
Şu anki işim çoğunlukla üzerinde çalıştığımız çeşitli uygulamalar için GUI test kodu yazıyor. Ancak, ben testler içine bir sürü kod kopyalama ve yapıştırma eğiliminde olduğunu bulmak. Bunun nedeni, test ettiğim alanların tekrarlamaya ihtiyaç duyacak kadar benzer olmaları, ancak kodu yöntemlere veya nesnelere kapsüllemek için yeterince benzer olmalarıdır. Sınıfları veya yöntemleri …

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.