Bir projeyi teslim etmeye hazırlanırken dikkat edilmesi gereken bazı şeyler nelerdir?


10

Şu anda oldukça büyük bir web uygulamasının (ASP.NET MVC yığını, kabaca 150K + kod satırı) tek geliştiricisi / mimarıyım ve geliştirmenin sonu ufukta. Bu nedenle, projeyi teslim etmek için ne yapılması gerektiğini düşünmeye başlıyorum ve gelecekte projeyi sürdürmesi gereken herkes için doğru olanı yaptığımdan emin olmak istiyorum.

Bir projeyi başka bir geliştiriciye veya bakım geliştiricileri ekibine teslim etmeye hazırlanırken dikkat edilmesi gereken bazı şeyler nelerdir?

Yanıtlar:


12

IMHO, projenizi (doğrudan veya dolaylı olarak) teslim etmeden önce sadece bir şey yapabilseydiniz, kaynak kontrolünden olduğu gibi derlendiğini kontrol etmenizi ve çiftlemenizi öneririm.

Gülmek yok, ama bir kaynak kontrolünden kaç kez "en son" aldığımı söyleyemem ve derleyemedi, sadece daha sonra "Fred'in eski kutusunda" olmadığımı öğrenmek için sadece kod " derler. Hatta eski bir işveren, masaüstümü derhal küpümden çıkartıp yerine "Fred'in eski kutusu" ile değiştirdim, böylece tahmin ettiğim proje üzerinde çalışabildim.

Yukarıdaki tavsiyenin bir uzantısı olarak, bazen bir uygulamayı derlemek için gerekli olan en son sürümü almamanız nedeniyle, bir README.txt oluşturmanızı ve uygulamanızın kök dizinine yerleştirmenizi ve kaynak denetimine koymanızı öneririm. Bu README belgesi, kaynak denetimine (varsa) kontrol edilemeyen harici bağımlılıkların bir listesini, veritabanını nasıl kuracağınızı ve uygulamanın derleme, yürütme veya dağıtım döngüleri ile ilgili diğer tuhaflıkları içermelidir.

Yukarıdaki iki öneri üzerinde ve ötesinde herhangi bir şey sadece sos olurdu, ancak yukarıdaki iki IMHO "Merhaba Dünya" daha büyük herhangi bir projede neredeyse gereklidir.

DÜZENLE:

Dokümantasyon konusunda ...

Yıllar geçtikçe, bir geliştiricinin geçişini kolaylaştırmak amacıyla yazılım belgelerinden adil payımı yazdım ve okudum. Bu tür belgelerin yazdırıldıkları kağıda nadiren değdiğini söyleyebilirim. Geliştiriciler (kendim dahil), bu tür belgeleri yazarken başvurunun önemli kısımlarını nadiren düşünüyoruz, sadece en son yaptığımız yangınları düşünmeye eğilimliyiz. Bu belgelerin yazılımın tüm önemli yönlerini kapsamama eğiliminin üstünde ve ötesinde, çok hızlı bir şekilde modası geçmiş olurlar. Belge güncelliğini yitirdiğinde, gelecekteki bir geliştirici gerçeğe uyacak şekilde geri getirmek yerine belgeyi tamamen göz ardı etme ihtimalinden daha fazladır (değişen gereksinimleri düşünün).

Kendi başına dokümantasyon yerine, birim testleri tavsiye ederim. Ben muhtemelen bu noktada eski geliyor biliyorum, ama kodu sizin için belgeleme yapalım. Bozuk birim testlerini göz ardı etmek zordur (ve fark edilmesi daha kolaydır), bir Word belgesinden daha kolaydır. Buna ek olarak, İngilizce dili, yazılım tasarımının daha ince noktalarını ifade etmek için korkunç bir şekilde kesin değildir. En basit İngilizce cümlelerin bile anlamını yorumlamanın çok fazla yolu vardır ve bu sadece karışıklığa ve / veya hatalara yol açar.


1
Benioku dosyası için +1. Aslında bu noktada projede bunlardan iki tane var, biri genel bir "bu kavramı yazdığımda düşündüğüm şey" ve diğeri de sadece mevcut olan tüm harici bağımlılıkları ve jQuery eklentilerini listeliyor onları nereden aldığımın çizgileriyle. Derleme kesinlikle tekrar olsa tekrar kontrol etmek zorunda kalacak bir şeydir.
rjzii

@Rob, bir VM, kodunuzun temiz bir ortamda derlenip derlenemeyeceğini belirlemeye çalışırken genellikle iyi bir fikirdir. Windows'un ve Visual Studio'nun temiz yüklemesini yapın, ardından yalnızca readmedosyanızda belirtilen öğeleri yükleyerek çalıştırın . Kod derlenir ve çalışırsa, ayarlanmış demektir.
Jason Whitehorn

Dokümanları unutmayın!
Moshe

@Jason - Bunu hemen hemen aynı koşullar altında (bir tanesi Parallels Desktop ile iki geliştirme makinesi) yapabildim, ancak o zamandan beri bazı yeni kütüphaneler projeye çekildi.
rjzii

1
@Moshe - Belgeler aslında en çok endişelendiğim kısım. Kodu bulmak istediğim şekilde yazdım, ancak kodu ve temel benioku belgelerini tamamlamak için hangi ek belgeleri yazmam gerektiğinden emin değilim.
rjzii

1

Bu yüzden yorumların kod kokusu olmaması tam olarak budur. Bu yüzden kodumuzu da belgelemeliyiz.

Sağlam belgelere sahip olduğunuzdan emin olmalısınız. Yorumların biçimine ve programlama diline bağlı olarak yorumlardan belge oluşturabilen programlar vardır.

Bir kitaplığı veya kod tabanını ele geçirirken hangi bilgileri isteyeceğinizi düşünün. Programcı olan bir arkadaşınızdan hızlıca bakmasını ve açık soruları tespit edip etmediklerini görmesini isteyin.

İyi şanslar!


1

Kodunuzun tek bir komut / tıklama ile son biçimde derlendiğinden ve paketlendiğinden emin olun.

Cevabı iptal edemiyorum Bir projeyi teslim etmeye hazırlanırken dikkat edilmesi gereken bazı şeyler nelerdir? yeterli, bu yüzden tekrar yazmak zorundayım.

Bu tek tıklamayla derleme konusunda çok titizim , çünkü zaten sadece bir küçük hatayı düzeltmek zorunda olduğum bir projeyi nasıl derleyeceğimizi veya paketleyeceğimizi anlamaya çok zaman harcadım. Nihai ZIP, JAR veya EAR paketlemek için projelerime küçük toplu / bash komut dosyaları koymaya başladım.

Buna ek olarak , genel dizini , karmaşık parçaları ve proje ortamını (diğer departmanlarla veya kişilerle iletişim açısından) açıklayan kök dizine bir README.txt ekliyorum .

Bu README.txt dosyasını küçük tutmaya çalışıyorum , çünkü yapmak istediğiniz tek şey bir hatayı düzeltmek, derlemek ve paketlemekse kimse 200'den fazla teknik özellik belgesini okumaz. Uygulama ayrıntıları birim testlerinde belgelenmiştir , bu yüzden hepsini bir kitapta tekrar yazmanıza gerek yoktur ...


0

Varsayılan devir kontrol listem:

  1. VCS'den temiz kopyaya göz atın
  2. Test oluşturma, test dağıtma
  3. Repo-yedekleme için maven deposunu yeniden adlandırın
  4. Derlemeyi tekrar test et
  5. Uygulama sunucusunun yeni kopyasını zip'ten yükle
  6. Sunucu kurulum notlarını doğrulayın
  7. Yeniden konuşlandırmayı test et
  8. Hiçbir birim testinin devre dışı olmadığını doğrulayın
  9. Dört harfli kelimeye ilişkin yorumları tarayın, silin

Bir şey kırılırsa, teslim etmeden önce tamir ederim. Hiçbir şey çalışanı çalıştırmaya başlamaz, daha sonra projeyi teslim aldığınız, inşa ettiğiniz ve çalıştığınız gün çalıştırarak.

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.