Okunması zor kodlar yazmak. (okuyacak kişi bir insan değil derleyicidir.)
2 ya da 3 ekrandan fazla prosedür yazmak. (Sub… End Sub)
Kurallara yada adlandırma ilkelerine uymayan değişken, nesne yada prosedür tanımlamak.


Option Explicit ifadesini kullanmamak. (Option Explicit bas modülü içine ilk satıra yazılır ve program içindeki tüm değişkenlerin birer birer tanımlanmasını şart koşar. Programcı örnek olarak Dim sözcük As String ifadesi ile sözcük değişkenini programa tanıtmadan bu değişkeni kullanamaz.)



Normalde kullanıcının girmesi gereken değerleri kod içine sabit değerler halinde yazmak (hard-coding). Bunlar bazı sayılar yada dosya yada dizin adları olabilir. Örnek: Her kullanıcı Windows’unu WINDOWS adlı dizine kurmak zorunda değildir (Bu bazen WIN bazen WIN98 vs olabilir)
Programınızı yazarken Windows dizininin adını kendi bilgisayarınızdaki gibi düşünmeyin…




Tüm değişkenler ve fonksiyonlar için gereken veri türlerini deklere etmemek.
Özellikle gerekli olan veri türünü deklere etmezseniz tüm türleri içine alan VARIANT
deklere etmiş olursunuz ki VARIANT veri türü 32 byte yer kaplar.


Veri türlerinin uygunsuz kullanmak. Dizileri gerekli büyüklüklerde üretmemek.
Değişkenlerin geçerlilik alanlarını gereğinden fazla geniş tutmak. Örnek olarak sadece tek bir fonksiyon içinde kullanılan bir değişkeni Public olarak deklere etmek programın çalışması boyunca bellekte kalacağı için gereksiz yer işgal edecektir.



Tekrar kullanılabilecek kodlar yazmamak. Yazdığınız anı kurtaracak gelişigüzel kodlar yazmak yapmamanız gereken önemli kurallardan biridir, çünkü ileride benzer kod bloklarına ihtiyacınız olacaktır ve yeri geldiğinde o kod bloğunun ne işe yaradığını anlayabilmeniz gerekir.
Basit kodlarla yapılabilecek işler için kontroller, kütüphaneler veya ActiveX kontroller kullanmak ta bir hatadır. Bu tarz kod yazma gereksiz büyüklük meydana getirir. Her dll ya da ocx kontrolu setup disketinize ekstra yük demektir.


Kullanıcının ihtiyaçlarına gereken özeni göstermemek. Programlama saygınlığına uygun dil kullanmamak. (Siz yerine Sen hitap sözcüğü kullanımı gibi). Kullanıcıya ters gelebilecek hata mesajları vermek. Form tasarlarken kullanım kolaylığını düşünmemek… Kontrollerin göze hoş gelmeyecek yerleşimi Standart Windows tasarımına uymamak. (Menü tasarımı, kontrol butonlarının genelde yukarıda olması, ALT-F4 ile programın kapatılması, Ctrl-O dosya açmak, Ctrl-P yazdırmak vs için kullanılması) Bu standartlar zaten Windows kullanan kişilere kullanımı kolay programlar üretmenize neden olacaktır. Ve dikkat ederseniz birçok program bu standartları takip eder, siz de etmelisiniz.


Diğer programcılardan çaba göstermeksizin faydalanmak yada gereken yerde yardım istememek. Başkalarının ürettiklerini kendinizinmiş gibi göstermek.


Yetersiz dokümantasyon. Gerekli açıklamaları kodlar arasına yazmamak


Hata yapması kolay kodlar yazmak. Yeterli hata kontrolleri yazmamak
Kullanıcının yapması muhtemel hataları öngörememek ve oluşması halinde bunları giderememek