2016-04-01 43 views
-1

Bilgisayar bilimlerinde, farklı yönlerde 2 çekim olduğunda, kod satırının sayısını veya sayıların sayısını artırmak için en iyi uygulama olup olmadığını merak ediyordum?Kodların sayısı VS Sayıların sayısı

Örnek 1: Aşağıdaki kodda daha az sayıda satır vardır, ancak eğer her g için değerlendirilirse, bunlar g'ye bağlı değildir.

For g = 0 To UBound(myRegions) 
    If Cells(2, j) = "" And Cells(myRowToBeAllocated, 4 + j) <> 0 Then 
     Cells(2, g) = Worksheet("Test").Cells(k, q) 
    ElseIf Cells(myRowToBeAllocated, 4 + j) <> 0 Then 
     Cells(2, g) = Worksheet("Test").Cells(2 * k, q/2) 
    End If 
Next g 

Örnek 2: Aşağıdaki kod daha fazla satır ancak IFS her g değerlendirilmemektedir, bu nedenle aşağıda daha talimatları bilgi işlem tarafından yürütülmektedir yol açar.

If Cells(2, j) = "" And Cells(myRowToBeAllocated, 4 + j) <> 0 Then 
    For g = 0 To UBound(myRegions) 
     Cells(2, g) = Worksheet("Test").Cells(k, q) 
    Next g 
ElseIf Cells(myRowToBeAllocated, 4 + j) <> 0 Then 
    For g = 0 To UBound(myRegions) 
     Cells(2, g) = Worksheet("Test").Cells(2 * k, q/2) 
    Next g 
End If 

Soru: hangisinin en iyi olduğuna dair en iyi uygulama var mı?

cevap

0

Seni doğru anlıyorsam, bilgisayar hızını okunabilirliğe karşı koyuyorsun. Bu durumda, şartlara bağlı olduğu için gerçekten iyi bir uygulama yoktur: mümkün olduğunca verimli bir şekilde çalışması gereken küçük bir program için, hız kritik olduğundan seçenek 2'ye giderdim. Diğer her şey için (ki bu çoğunlukla modern, hızlı bilgisayarlar için geçerlidir), gerçekten bir sorun olana kadar hız optimizasyonu için çaba harcamam. Daha önemlisi, kodun okunabilir ve sürdürülebilir olmasıdır. Hızlı çalışan bazı çirkin kodları anlamaya çalışmak için harcanan gerekli çalışma saatleri, kodun daha hızlı çalışmasını sağlamak için bazı donanım yükseltmelerinden çok daha pahalıdır.

+0

Cevabınız için teşekkür ederiz. Şirketimde dizüstü bilgisayarda çalışıyoruz. 2013 yılında işlemci standardı i7-3635QM idi, ancak standart şimdi daha yavaş olan i7-5500U. Program yazmaya başladığımda, CPU hızının 18 ayda bir iki katına çıkacağını ve 3 dakika süren görevin daha hızlı yapılacağını varsaydım. Ancak bu durum böyle olmamıştır, bu yüzden her zaman kod hızına karşı kod hızını dengelemeye çalışıyorum. – serge