Valla bu kadar üşenmeden yazan ikinci bir kişi görmedim şu listelere :)
Bu kadarını yazmayı benim gözüm yese misal, arkadaşın koduna da el atmıştım hani.
Bu durumda egrep, awk, for ve insensitive parametresi olayi cozebilir :P
Cümle gidişatı ve sondaki noktalı "P" den anlaşılacağı üzere, gözümün yemediği belli oluyor. Belki bu yazdığıma kendim bile inanmamışım. Netice itibari ile yazdıkarından çıkardığım şu oldu : eğer Murphy, arkadaşın projesine Finagle kanunu ile uğrarsa, olay Çin'lilerin meşhur şemsiye atasözü ile neticelenir.

Saygılarımla,

On 07/07/2011 02:30 PM, Serdar KÖYLÜ wrote:
Sevgili Atıf, nasıl olacak ki?

Sorunun iki noktası var. Birisi muhtemel dead-code. Yani hiç
işlemeyecek kod kabaca. Bu kodun içinde kalan ve refere edilen
dosyaları da diğerlerinden ayırmak gerekiyor olacak.

Olayın özüne bakalım. Waterfall olması beklenen bir uygulama, extreme,
adaptive vs. gibi yollarla yazılmış. Daha doğrus mesela extreme
progrmamming yöntemleri ile yazılması gerekirken, waterfall mış gibi
yapılmış Ortaya doğru düzgün dizayn edilmemiş, deadcode'lar, resimler
vs. olan bir kod çıkmış.

Bu koddan işin doğrusu, hiç kimseye hayır gelmez. Bunu böyle
ayıklamakla uğraşmakta bence gereksiz zaman kaybıdır.

En iyisi kodu baştan temiz bir sayfaya yazmak olacaktır. Pek çok rutin
zaten hazır olduğu, yapılacak iş akışı, sayfalar, grafikler vs. zaten
va rolduğu için bu işte gayet kolayca ve kısa zamanda halledilebilir.
Bunu yaparken bu gibi hususlarda gözetilir ki, hem programın kalitesi,
hemde sağlamlık, bakılabilirliği filan daha iyi olur.

Bu sanırım, bir ikl gün sürer, kullanıcının tecrübesine bağlı olarak.
Ama herkes (müşteri, yazılımıc ve biz dahil) için en hayırlısı bu
maliyete katlanmak olacaktır.

Böyle durumlarda danışılacak en büyük bilge, Murphy'dir. AWK, GREP vs.
derken bir şeyleri gözden kaçırıp porgramı felç etmek her an başa
gelebilecek bir şeydir.

Murphy'nin bir numaralı kanunu derki: Eğer bir işi halletmek için
birden fazla olasılık varsa ve bu olasılıklardan biri istenmeyen
sonuçlar veya felaket doğuracaksa; kesinlikle bu olasılık
gerçekleşecektir.

Finagle kanunu ise der ki: Ters gidebilecek her şey, ters gidecektir.

Ters gitmeye bu kadar müsait bir awk, grep macerası bence
düşünülmemesi dahi gereken bir macera. Böyle kestirmeler, "Kestirme,
iki nokta arasındaki en uzun yoldur." tanımını doğrulayan şeyler olur
sonuçta.




2011/7/6 Atıf CEYLAN<[email protected]>:
Bu durumda egrep, awk, for ve insensitive parametresi olayi cozebilir :P
Yine de basinizi en cok agritabilecek nokta burasi sanirim.
Zira halen bizler dosyalarinizin uygulamanizda nerelerde ne $ekilde
durdugunu bilemiyoruz. Biraz ustunkoru anlatimla bu i$ pek olacak gibi
degil.
En makulu siz bash programming birazda php ile kendi cozumunuze bakin derim.

On 07/06/2011 04:54 PM, Nuri AKMAN wrote:

Dosyalarda bahsettiğiniz kullanım yok, her dosya kendi adı ile
kullanılıyor...

Selamlar,
Nuri Akman


2011/7/6 Serdar KÖYLÜ<[email protected]>
2. soru, kullanılmayan resimler vs. sorusu biraz çetrefilli.

Bri dizi resim olsun: MANU0.PNG, MENU1.PNG, MENU2.PNG

Ve bunları sprintf(hede, "MENU%d.PNG", menu_pos) gibi bir şeyle
yükletiyor olun. Bu durumda tipik grep çözümleri çuvallayacaktır. Ki
makul yazılmış hemen her web uygulaması bu gibi bir dinamik dosya adı
oluşturma işlevine sahip olacaktır. Elbette bu bir kural değil, ama
aklın yolu, 100 satır kod yerine bir döngü der malum.

Bunun yolu bir file access monitor (FAM) kodu yazıp (Mesela python ile
kolayca yazılır) dizinlere erişimi izlemek ve buna göre erişilmeyen
dosyaları bulmak gibi bir şey olabilir. ELbette last access time gibi
şeylerde işinizi görür. Fakat her durumda, uygulamanın olası tüm
case'lerden geçip her dosyayı yokladığından emin olmak gerekir ki, pek
kolay değil.



2011/7/6 Atıf CEYLAN<[email protected]>:
3. Bu konuda fikrim yok ( belki ideler beceriyordur, becermiyorsa bile
ben
olsam css dosyalarin icerisinden tanimlari bir liste yapar ve bunu grep
ifadeler -r /proje klasoru deyip arattirirdim. )

Ek olarak grep -rl parametresi ile yaparsan eslesen dosya adi ve satiri
ile
birlikte listeler.

--
/**
* @author Atıf CEYLAN
* Software Developer&  System Admin
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


--
/**
* @author Atıf CEYLAN
* Software Developer&  System Admin
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


--
/**
* *@author* Atıf CEYLAN
* Software Developer & System Admin
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap