Tüm alt programlar sağlam ilkeler kullanılarak yazılmalıdır. Sağlam bir alt program hiçbir koşulda başarısız olmaz. Savunma kodlaması her zaman kullanılmalıdır çünkü bu hedefe ulaşılmasına yardımcı olur. Başarısızlık olasılığını azaltan birçok kanıtlanmış teknik aşağıda özetlenmiştir.

    KOD YAPISI


    A.   Bir PROGRAM deyimi, bir yöneticinin ilk deyimi olmalı ve bu nedenle herhangi bir programdaki ilk deyim olmalıdır.
    B.   Her alt programın yalnızca ilk çalıştırılabilir ifadede bulunan tek bir girişi olmalıdır.
    C.   Her alt programın yürütülebilir deyimlerinin sonunda yalnızca tek bir çıkış olmalıdır. İstisnalara sadece çıkıştaki bir dalı ortadan kaldırmak ve netliği artırmak için izin verilir. Bununla birlikte, bir alt programın, alt program her çıktığında yürütülmesi garanti edilen ifadelere ihtiyacı olduğunda, tek bir çıkış zorunludur.
    D.  Bir alt program, yapılmakta olan işlemle tutarlı olarak kısa olmalıdır. 100'den fazla çalıştırılabilir ifadeye sahip alt programlar önerilmez. 200'den fazla yürütülebilir deyim yasaktır. (Yorumlar, biçimler ve veri tanımları, çalıştırılabilir ifadeler olmadığı için otomatik olarak hariç tutulur. Ortak bloklar ve tür, parametre ve boyut bildirimleri
çalıştırılabilir ve hariç tutulur.) Uzun alt programlar orantısız olma eğilimindedir.
daha karmaşıktır.
    E.  Yazılım yapısının bir düzeyinde alınan kararların diğer seviyeler üzerinde sıklıkla etkisi vardır.

             1. Bir alt program, bir bağlı alt programa referansta bulunuyorsa, bağlı alt program, birincinin kontrol süresi içindedir.

             2. İlk alt programda alınan bir karar, ikinci alt programdaki bir süreci doğrudan etkiliyorsa, ikinci alt program, ilk alt programın etki alanı içindedir.

             3. Bir alt programın doğrudan kontrol kapsamı kendisidir ve tüm bağlı alt programlardır.

             4. Alt programlar dolaylı kontrol kapsamlarını en aza indirecek şekilde tasarlanmalıdır. Kesin olarak doğrusal derinden inen bir alt program hiyerarşisi genellikle zayıftır. Sığ bir paralel yapı önerilir.

            5. Bir alt program, dokuzdan fazla farklı alt programa doğrudan başvurmamalıdır; bu nedenle, doğrudan kontrol süresi dokuzu geçmemelidir (iç FONKSİYONLAR ve genel amaçlı sistem kütüphanesi alt programları hariç)

 

F.   Herhangi bir alt programın genel akışı, DO dışında ve DO WHILE, REPEAT UNTIL ve LOOP LEAVE AGAIN yapılarının eşdeğer FORTRAN uygulaması dışında girişten çıkışa doğru aşağı doğru olmalıdır.

G.  Herhangi bir kontrol yapısının eylem cümleleri ve IF-THEN-ELSE ifadeleri) daha iyi okunabilirlik sağlamak için girintilenmelidir.

    1. Kod, iç içe geçme düzeylerini yansıtacak şekilde girintili olmalıdır.
    2. Her yuva, önceki yuvalama düzeyindekilerin sağında üç sütuna girintili olmalıdır.
    3. Aynı iç içe yerleştirme düzeyindeki tüm kodlar aynı sütundan başlamalıdır.


H. END deyimi, RETURN deyimi yerine kullanılmamalıdır. Her zaman bir RETURN deyimi gerekir.

I.    İfadenin etikete ihtiyacı yoksa, bir etikete sahip olmak yasaktır. İfadenin yalnızca başka bir ifade tarafından başvurulduğunda etiket olması gerekir.
J.   Tüm spesifikasyon ifadeleri ilk çalıştırılabilir ifadeden önce görünmeli ve herhangi bir ifadenin FUNCTION tanımlarından önce gelmelidir.
K.   Tüm ifade FUNCTION'ları, her alt programdaki ilk yürütülebilir ifadeden hemen önce gelmeli ve öncesinde FUNCTION ifadesinin amacını, kabul edilen bağımsız değişkenleri ve üretilen sonuçları açıklayan yorumlardan önce gelmelidir.
L.   Tüm ifade etiketleri en az 10 rakamıyla başlamalı ve 2. sütunda haklı bırakılmalıdır. Bu rakamlar her alt programda artan sırada olmalıdır.
M.   Önceki biçimi, çalıştırılabilir ifadelerin her alt programın sonunda END deyiminden hemen gruplanması gerekir. Biçim deyimi etiketleri en azından artan sırada başlamalıdır ve önceki deyim etiketinden daha büyük olmalıdır.

 

Fortran Kod Yapısı

N.   Devam hatlarına izin verilir.
    1. Yürütülebilir bir FORTRAN deyimi için maksimum devam satırı sayısı dokuzdur.
    2. Yürütülebilir ifadeler için devam eden satırlar, sütun 6'da sırayla 1 ile 9 arasında sıralı tamsayılarla numaralandırılmalıdır.
    3. Çalıştırılamayan ifadeler için devam eden satırlar, sütun 6'da sırayla 1'den 9'a kadar sıralı tamsayılarla numaralandırılmalı, daha sonra dokuz satırdan daha uzun süren süreler için sütun 6'da A ile başlayan alfabenin sıralı harfleri ile sıralanmalıdır.
    4. Tüm continuations biçim tablolarında tek istisna, sütunda 7'de bir boş olması gerekir.

 0.   Uzun ifadeler kısa ve kolay anlaşılan bölümler halinde düzenlenmelidir. Beşten fazla basit bölüm içeren ifadelerin anlaşılması genellikle zordur ve yanlış yerleştirilmiş parantezlerin ve istenmeyen işlemlerin girme olasılığını arttırır.

 

 

 GENEL KURALLAR

A.  Mantıksal doğruluk, işlevsel güvenilirlik ve iyi mimari, yürütme hızından çok daha önemlidir.
     1. Hızı artırmak için kodlama karmaşık hale getirilmemelidir. Bu tür çabalar genellikle diğer programcılar için anlaşılmaz olan kodlama üretirken sıklıkla hatalar ortaya çıkarır.
     2. Verimlilik genellikle ne kadar kompakt kodlandığından ziyade seçilen algoritma tarafından belirlenir.

B. Derin içiçe ifadeler belirsiz kodlar üretir. Çoklu yuvalama büyük bir dikkatle kullanılmalıdır ve yalnızca çoklu yuvalama iyi yapılandırılmış kod üreteceği zaman kullanılmalıdır.


      1. Üçlü veya daha derin yuvalanmış "IF-THEN-ELSE" ifadeleri önerilmez.
      2. Uzun bloklar ve yetersiz yorum içeren birçok tekrarlanan ELSEIF cümlesi belirsiz kodlar üretir ve cesaretleri kırılır.
      3. Kısa bloklu (Pascal dili CASE ifadesini simüle eden) birkaç iyi belgelenmiş tekrarlanan ELSEIF cümlesi anlaşılabilir kod üretir ve teşvik edilir. Her ELSEIF maddesinden önce bilgilendirici yorumlar gelmelidir.

 

C.   Hata kontrol kodu kalıcı olarak dahil edilmelidir. Tüm hata mesajları açıklayıcı, dilbilgisel olarak doğru ve kısaca yazılmalıdır. 

D.   Delikli kart kullanımı, manyetik bant montajı ve sökme, programlanmış DURAKLATMA sonrasında yeniden başlatma vb. Gibi bilgisayar operatörünün gereksinimlerini en aza indirmek için her program yazılmalıdır.
E.   PAUSE deyimi, programın doğru çalışması için kesinlikle gerekli olmadıkça kullanılamaz. Bu tür tüm PAUSE deyimleri, tam çalıştırma talimatları ile birlikte belgelenmelidir.
F.   CHARACTER verileri ve yorumları hariç tüm FORTRAN kodu büyük harflerle yazılmalıdır.
G.  KARAKTER verileri karışık büyük ve küçük harf içerebilir ve genel metin çıktısı için büyük ve küçük harf kullanılması önerilir.
H.  Mühendislik birimleri program boyunca aynı olmalı ve yalnızca girdiden hemen sonra veya çıktıdan hemen önce değiştirilmesine izin verilmelidir. Bu tutarlılık, bir hesaplamada yanlışlıkla yanlış birimleri kullanma olasılığını en aza indirir.
I.   Yürütülebilir kodda tatmin edilmeyen haricilere izin verilmez. Saplama alt programları (hesaplanan sonuçlar yerine yalnızca örnek değerleri döndüren kukla alt programlar), gerekirse kod geliştirme sırasında dışsalları tatmin etmek için kullanılabilir.

 

VERİ BAŞLATMA - DATA INITIALIZATION 

 

A. Fiziksel, matematiksel veya mühendislik önemi olan kayan nokta ve tamsayı sabitleri (örneğin, Avogadro'nun "N" sayısı ve "c" ışık hızı) yürütülebilir kodda açıkça görünmemelidir.
   1. Bu sabitler parametre adları kullanılarak tanımlanmalı ve açıklamaları parametre deyiminden önce yorumlarda belirtilmelidir. İsimler
çünkü bu sabitler tanımlayıcı olmalıdır.
   2. Birimsiz, basit matematiksel kayan nokta değerleri (0.5, 2.0, 3.5, 10.0, 50.0, vb.) Genellikle ek açıklama gerektirmez ve doğrudan yürütülebilir kodda görünmelidir.
   3. Tamsayı değerleri, tanımlanmış bir sabit yerine doğrudan yürütülebilir kodda görünmelidir.
   4. Herhangi bir irrasyonel sayı (örneğin, "7r" ve "e" doğal logaritmalarının tabanı), bir parametre ifadesi kullanılarak en az 10 anlamlı basamakla tanımlanmalıdır. Programcı yerine bilgisayar sistemi kısıtlamaları kesinliği sınırlamalıdır.      

 

B.  Bir skaler değişken değişmeyen bir değeri temsil ettiğinde, değişken yürütülebilir kod tarafından değil, bir parametre deyiminde önceden ayarlanmalıdır.

    1. Diğer değişkenler çalıştırılabilir kod kullanılarak başlatılmalıdır; ancak, makul istisnalar mevcuttur (sayaçların başlatılması gibi).
    2. Parametre ifadesinin yalnızca bir sürümü korunabilir. Birden fazla alt programda kullanılan her parametre ifadesi ve ilişkili yorumlar, uygulanabilir her alt programa otomatik olarak eklenmelidir. Bu özellik, UPDATE, HISTORIAN veya INCLUDE deyimi gibi özellikleri kullanan birçok bilgisayar sisteminde bulunur. Yalnızca tek bir alt programda kullanılan parametre ifadeleri bu alt programda açıkça tanımlanabilir.         

 C.  Parametre adları tüm dizi boyutlarını ayarlamak için kullanılmalıdır. Diziler ortak bloklarda olduğunda, açık parametre ifadeleri kullanılmalıdır. Dizi sınırlarına yapılan tüm başvurular, değişmez bir sabit değil, parametre adını kullanmalıdır. Bu gereksinim nesne zamanı boyutlandırmasını kapsamaz. Boyutlar mantıksal olarak ilişkili değilse ve her zaman aynı olmazsa, birden fazla boyut ayarlamak için aynı parametre adının kullanılması yasaktır. 

 Fortran Karakter Seti

Fortran karakter kümesi 26 büyük ve 26 küçük harften (alfabetik karakterler) oluşur.
0 ile 9 arasındaki sayılar (rakamlar) ve özel karakterler. Bu kılavuz, alt harflerle (_) birlikte harfleri (büyük harf ve küçük harf) genişletilmiş alfabetik karakterler olarak belirtir. Genişletilmiş alfabetik karakterler ve rakamlar alfasayısal karakterler olarak da adlandırılır. Karakter kümesinin tamamı

Harfler:

A B C D E F G H I J K L M N O P Q R S T U V G X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z

Rakamlar:

0 1 2 3 4 5 6 7 8 9

Özel karakterler:

           Boş
=         Eşit
+         Artı
-          Eksi
*         Yıldız işareti

/         Slash
(         Sol parantez
)         Sağ parantez
,         Virgül
.         Ondalık nokta
$        Para birimi simgesi
'         Kesme İşareti
:         Kolon
!         Ünlem işareti
_        Vurgulamak
"         Tırnak işareti

 

Veri tipleri

Genel olarak, veri türüne sahip üç tür varlık vardır: sabitler, veri adları ve işlev adları. Fortran'da izin verilen veri türleri
• INTEGER pozitif ve negatif integral sayıları ve sıfır
• REAL: kesirli kısmı ve sıfırı olan pozitif ve negatif sayılar
• DOUBLE PRECISION: REAL ile aynı, ancak iki kat depolama alanı ve muhtemelen daha büyük
hassas
• COMPLEX: sıralı REAL veri çifti: gerçek ve hayali bileşenler
• DOUBLE COMPLEX: düzenli çift hassasiyetli veri çifti
• LOGICAL: Doğru veya yanlış temsil eden Boole verileri
• CHARACTER: karakter dizeleri
• HOLLERITH: karakter tanımı için geçmiş bir veri türü 

 *** INTEGER, REAL, DOUBLE PRECISION, COMPLEX ve DOUBLE COMPLEX aritmetik veri türleri sınıfını oluşturur.

Veri türü iki yoldan biriyle oluşturulur: dolaylı olarak, sembolik harfinin ilk harfine bağlı olarak
adı (bu bölümde açıklanmıştır) veya açıkça bir tür ifadesi (Bölüm 4'te açıklanmıştır) aracılığıyla. Veri değeri bir değişken veya sabit olabilir, yani değeri bir programın yürütülmesi sırasında değişebilir veya değiştirilemez. Dizi, bir dizi ardışık bayt işgal eden veri öğelerinin bir dizisidir.

Bir tür ifadesi veya FUNCTION ifadesi tarafından açıkça belirtilmezse, bir veri öğesinin veri türü,
veri adı veya işlev adı dolaylı olarak sembolik adının ilk karakteri tarafından belirlenir. Varsayılan olarak, I, J, K, L, M veya N (büyük harf veya küçük harf) ile başlayan sembolik isimler INTEGER veri tipini ifade eder; diğer tüm harflerle başlayan isimler GERÇEK veri türü anlamına gelir. Bir IMPLICIT deyimi aracılığıyla alfabenin her harfine karşılık gelen varsayılan örtük veri türünü değiştirebilir veya onaylayabilirsiniz.
Harici fonksiyonların ve ifade fonksiyonlarının veri tipi, yukarıdakiyle aynı şekilde dolaylı olarak belirlenir. Harici bir fonksiyonun türü FUNCTION deyiminde de açıkça bildirilebilir.

 

Fortran harmanlama sırası, harfler ve rakamlar arasındaki ilişkiyi tanımlar ve karakter dizilerini karşılaştırırken kullanılır. Harmanlama sırası şu kurallarla belirlenir:
• A, Z'den küçük ve a, z'den küçüktür. Alfabetik karakterlerin listeleme sırası, alfabetik karakterler için harmanlama sırasını belirtir. Aynı harfin küçük harf ve büyük harf arasındaki ilişki belirsizdir.
• 0, 9'dan küçüktür. Yukarıda basamakların listelenme sırası, basamaklar için harmanlama sırasını tanımlar.
• Alfabetik karakterler ve rakamlar harmanlama sırasında karıştırılmaz.
• Boş karakter A harfinden (büyük ve küçük harf) küçük ve 0 rakamından küçük.
• Karakter setinin bir parçası olarak verilen özel karakterler, belirli bir sırada listelenmez. Var
harmanlama sırasında özel karakterlerin nerede oluştuğuna dair bir spesifikasyon yoktur.

 

 

Comments powered by CComment