mak için dikkatli bir genel planlama kuşkusuz gereklidir. Aşağıdakiler, bilgisayarımı açma- dan önce genellikle çıkarttığım nok- talardır. 1. Tamamlanmış programın ne yapması beklenmektedir? Eğer bir oyunsa oyun ne zaman sona erecek- tir? 2. Programın ana bölümleri neler- dir? Eğer bir oyunsa, skoru takip et- me, ses rutinleri, menüler, joystick rutinleri, sayısal hesaplar, program metni, her ne ise tümünü program dökümünde göründükleri sırayla not ederim. 3. Oyunların kuralları nelerdir? Nüaokta değerlerini (point values) ya- zar ve onlara değişken adlar veririm. Yeniden tanımlanmış bir karakter seti kullanıyorsam, kullanılacak ekran kodlarını görevlendiririm. 4. İster spriteler, ister grafik ekran- ları, ister de makine dili değişkenleri için olsun, tüm depo bölgelerinin bel- lek adreslerini yazarım. 5. Son olarak uzun araştırmalarla yavaşlamadan programı yazabilmeyi garantilerim. Kullanabileceğim cins- ten daha önceden yazılmış rutinler var mıdır? Eğer öyle değilse ne tür re- feranslara gereksinmem olacaktır? Aşağıdakiler işler kızıştığında ya- rarlı olabilecek birtakım maddelerin özetleridir. Birkaç sayfa daha uzun olabilirlerdi (Gereğinde bu konular- da birkaç defter doldurulabilir). Ne kadar uzun olursa olsun, program notlarınızı ayrı bir defterle muhafa- za edin ve hızla mantık akışlarıyla he- saplamalar için müsvette kâğıdı kul- lanın, Öbür türlü, programınıza iliş- kin bilgilerin arasında bir sürü gerek- sSiz ayrıntı yeralacaktır. Yeterli planlamayı yaptıysanız, kodlamayı nasıl sürdürmeniz gerek- tiği konusunda kafanızda bir fikir olacaktır. Ama bunda da birtakım il- keler yararlı olacaktır. Aşağıda kod- lamayı daha etkili hale getirmek için gereken adımların listesini çıkarttım. 1. Dil ne olursa olsun, tüm ana de- Bişkenleri listenin başında tamamla- yın, Bunun yanısıra (DIM) komutla- rının ana program döngüsü dışında kalmalarını garantileyecek DIM ko- mutuna ilişkin hataları önleyin. 2. Satırları 10 katsayıları ile numa- ralandırın. Böylelikle programınıza yeniden numaralama yoluna girme- den eklemeler ve düzeltmeler yapabi- lirsiniz. Ancak program tamamıyla bitirilip hatalardan arındırıldıktan sonra satırları yeniden numaralardır- mak için bir komuta ya da hatırlama aracına gerek duyacaksınız. 3, Hiçbir zaman bir hedef subru- tinine ya da satıra REM (ark) komu- tu ile başlamamalısınız. REM komu- tunun hedef satırın üzerine koyun ki bellekten tasarruf edilebilmesi ve hı- zın arttırılabilmesi için çıkartılabilsin. 4. Tamamlanmış programınızın iki kopyasını muhafaza edin, biri aynen öbürü de tüm REM komutları çıkar- tılmış olarak. 5. REM komutlarını dışarıda bı- rakmanın yanısıra program hızını arttırmak için başka yollara da gidi- lebilir. Örneğin şu örnekteki gibi in- dekslenmiş program döngülerinden kaçının. Onun yerine FOR-NEXT döngüle- rini mümkün olduğu kadar çok kul- lanın. Ayrıca her satıra birden fazla çoğul komut yerleştirmek hem bellek- ten hem de zamandan tasarrüf sağ- layacaktır. 6. Sabitler için kesir değişkenleri kullanın (A — 100 yerine A/e-100 kul- lanın). 7. Büyük programlarda listenin ba- şına subrutinleri ve Data komutları- nı yerleştirmek yararlı olabilir. Bir GOSUB komutu programda daha sonra başlayan bir subrutini çağırdı- ğında, bilgisayar hedef satır numara- sını bulana kadar ileri doğru araştır- mayı sürdürmek zorundadır. Uzun bir programda bu araştırma gerçek- ten çok zaman alabilir. Eğer hedef sa- tır numarası GÖSÜB'ın satır numa- rasından daha düşükse program lis- te başından başlayacaktır araştırma- ya ve hedef başlarıgıca yakınsa araş- tırma kısa sürecektir. 8. C-64 sahipleri can sıkıcı gecik- melere yolaçan pislikleri, dizi kont- rol eden rutinlerin başına FRE(O) ko- mutu ekleyip değişken alanları dağıt- madan önleyebilirler. Programın pis- likleri yeni bir değişken için alan kal- madığında ve her şey programın ba- şından sonuna kadar kaydırıldığında ortaya çıkar. . Programınızı geliştirme sürecin- de sık sık kaydedin ve güvenlik için ayrı bir kopyasını da hazırlayın. Bir yazıcınız varsa bitmiş programınızın ketlerden daha uzun ömürlüdür. 10. Bir üzerinde ken listenin başındaki REM komutuna o sıradaki tarih, zaman ve versiyon sa- yısını ekleyin. Bir programın çeşitli versiyonları olabilir ve gereken ön- lemleri almazsanız hangisinin son rutinlerini kâğıt ya da disket üzerin- de saklayın. Böylelikle onları başka