Sahte kod, adından da anlaşılacağı gibi, gerçek kod değildir, ancak kod gibi görünür. Gerçek bir dil kullanırken gerekli tüm bagajları eklemek zorunda kalmadan insanların sorunlu bir alanı veya çözümü daha iyi anlamalarına yardımcı olur.
Kısacası: sadece gösterim amacıyla kullanılır.
Sahte kod ve programlama Sahte kodun
tanımı veya sabit bir kuralı yoktur, her seferinde farklı olabilir. Bu (gerçek) bir programlama dili değildir ve hiç kimse bunu bir dil olarak kabul etmez. Gerçek bir programlama dili olarak derlenemez veya kullanılamaz: bunu yapabiliyorsanız sahte kod olmaktan çıkar. Sözde kodun deterministik olması gerekmez (bilgisayarların derlenmesi için bir gereklilik), insanlar tarafından anlaşılması gerekir. Sahte kod kullanmak için, kodu en sevdiğiniz programlama diline dönüştürmeniz gerekir. Bu dönüştürme işlemi her seferinde farklı olabilir ve bunun için hiçbir kural verilemez, çünkü yine, sözde kod serbest konuşma gibidir: herhangi bir form alabilir.
Kullanımlar
Özellikle projelerin tasarım aşamasında bir soruna belirli bir yaklaşımı anlamaya yardımcı olmak için yaygın olarak kullanılır. Ayrıca algoritma tasarımında veya öğretmenler tahtaya bir şeyler çizdiklerinde yaygın olarak kullanılır. Tüm bu durumlarda kodu derlemek gerekli değildir, sadece sorunu / çözümü anlamak istersiniz.
Sahte
kod türleri Sahte kod olabilir, ancak belirli bir türde olmak zorunda değildir, yani MSIL'i göstermek için yığın tabanlı bir sahte kodunuz olabilir, Java, C #, C ++, Python'u göstermek için zorunlu bir sahte kodunuz olabilir. F #, Haskell, SQL vb. örneklerini gösteren işlevsel bir sözde kod içerebilir.
Örnekler
Başımın üstünden, ama her şey gidiyor, çünkü sözde kod yerinde icat edilebilir:
Birden fazla p öğesine izin veren bir başlık + gövde yapısı gösteren XML sözde kodu:
<head ...
<title ...
</
<body ...>
(<p>...)+
</
Birden fazla kalıtımı destekleyen dillerde elmas sorununu gösteren zorunlu sahte kod:
class A() { readFile(); }
class B() : A {} // overrides readFile in A
class C() : A {} // overrides readFile in A
class D() : B, C {} // what definition of readFile should be used?
Yukarıdaki iki örnek, bazı dillere benzemektedir, ancak gerçekte bu dil değildir ve muhtemelen derlenemez. Açıklamak istediğiniz bir şeyi açıklarlar.