SORU
25 EKİM 2008, CUMARTESİ


Ne kadar büyük ölçekli kalkınma için Python kullanabilir miyim?

Büyük ölçekli kalkınma ne kadar büyük bir kod tabanı korumak mı? Python ve özellikle öğrenmek için ilgi duyarım

  • Bir yöntem imzası için uyumsuzluk değişiklik yaptığınızda, nasıl bir yöntem deniyor her yere buluyorsunuz. C /derleyici sana bulur Java, Python nasıl yapıyorsunuz?

  • Değişiklik kodu derinlerde yaptığınızda, nasıl bir örnek arama için statik bir tip olmadığına göre sağlar, ne öğrenebilirim?

  • Nasıl önlemek yazım hataları (yazım hataları) ne yapmalıyım?

  • Olan UnitTest statik tür denetlemesi için bir yedek olarak kullanılır?

Tahmin edebileceğiniz gibi neredeyse sadece statik olarak yazılan diller (C /Java) ile çalıştı, ama Python ellerimi daha büyük programlar için denemek istiyorum. Ama çok kötü bir deneyim, uzun bir zaman önce, aynı zamanda dinamik olarak yazılmış olan (dBase) clipper dili ile kaldım.

CEVAP
25 EKİM 2008, CUMARTESİ


Bir çekiç gibi bir tornavida kullanmayın

Python statik olarak yazılan bir dil değildir, bu yüzden bu şekilde kullanmaya çalışmayın.

Belirli bir aracı kullandığınızda, edilmiş ise Ne için kullanıyorsun. Python için, anlamı:

  • Ördek yazarakhayır bir tür denetleme. Sadece davranış önemli. Bu nedenle kodunuzu bu özelliği kullanmak için tasarlanmış olması gerekir. İyi bir tasarım jenerik imzalar, bileşenler arasında bağımlılıklarını, yüksek soyutlama seviyeleri.. Yani eğer bir şey değiştirirseniz, kalan kodu değiştirmek zorunda kalmayacak demektir. Python bunun için yapılmış ne de şikayet ederim. Tür bir sorun değildir.

  • Büyük bir standart Kütüphanesi. Eğer kendinizi kodlu etmedin standart özellikleri kullanırsanız, program tüm görüşmelerin değiştirmek gerekmez. Ve Python pilleri ile birlikte gelir. Onları keşfetmek ve günlük tutuyorum. Başladığımda alabilirim modülleri sayısı hakkında hiçbir fikrim yoktu ve herkes gibi varolan şeyler yazmak için çalıştı. TAMAM, en baştan Tamam alamazsın.

Java, C,, aynı şekilde ne olursa olsun Python, PHP, Ayrık, yazmıyorsun. Çok farklı dillerin her biri için bir oda var, aynı şeyleri yapmıyorlar neden iyi nedenleri vardır.

Birim testleri bir alternatifi değildir

Birim testleri herhangi bir dil ile gerçekleştirilmelidir. En ünlü birim test kitaplığı (JUnit) Java dünyadan!

Bu tür bir alakası yok. Davranışları, tekrar kontrol edin. Regresyon ile ilgili sorun kaçının. Seni pistlerde siz müşteri olun.

Büyük ölçekli projeler için Python

Dilleri, kütüphaneler ve çerçeveler ölçek yok. Mimarileri.

Sağlam bir mimari tasarım, eğer geliştikçe hızlı bir şekilde yapmak mümkün iseniz, o zaman ölçeği. Birim testleri, otomatik kod olarak yardım edin. Ama güvenlik ağları. Ve küçük olanlar.

Python bazı iyi uygulamalar zorlar ve her zamanki tasarım desenleri yerleşik bir yeri vardır, çünkü büyük projeler için uygundur. Ama yine tasarlanmamıştır ne için kullanmayın. E. g : Python İŞLEMCİ yoğun görevler için bir teknoloji değil.

Çok büyük bir proje, büyük olasılıkla birkaç farklı teknolojiler zaten kullanacaksınız. SGBD ve bir şablon dili olarak, ya da başka. Python bir istisna değildir.

Muhtemelen hızlı olmalısın kod parçası için C/C kullanmak isteyeceksiniz. Veya Tomcat bir ortama uyum sağlamak için Java. Bilmiyorum, umurumda da değil. Python bu ile oynayabilirsiniz.

Sonuç olarak

Benim cevap biraz kaba gelebilir, ama beni yanlış anlamayın: bu çok iyi bir soru.

Bir çok insan eski alışkanlıklarını Python için gel. Java kod çalışırken kendimi Python gibi bir hata yaptım. Olabilir, ama asla iyi olacak.

Eğer Python ile oynamak istiyorum / oynadıysanız, bu harika! Harika bir araç. Ama sadece bir araç, gerçekten.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Moodle

    Moodle

    11 Mayıs 2010
  • TecNoob

    TecNoob

    15 AĞUSTOS 2013
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010