Fortran 77 programlama dili, belirli görevleri gerçekleştirmek için uyarlanmış organize bir kod kümesidir.
FORTRAN-77 amacı matematiksel, mantıklı, fiziksel, teknik, mühendislik problemlerini çözmektir. Fortran 77 ile sorunları çözmek  oldukça karmaşık olabilir. Dolayısıyla programın basit bir organizasyon yapısı olmalıdır. Belirli bir sorunu çözmek için program kod bölümlerine ve görevlerine ayrılmalıdır.

Bu kod bölümleri, alt programlardan ve aşağıdakilerden oluşan modüllerden oluşur:
yakından ilişkili alt programlar:

YÖNETİCİ (Ana Kontrol)       EXECUTIVE (Master Control).
GİRİŞ BÖLÜMÜ                     INPUT SECTION

Alt programlar                         Subprograms

HESAPLAMALI BÖLÜM        COMPUTATIONAL SECTION

Alt programlar ve modüller      Subprograms and Modules

ÇIKTI BÖLÜMÜ                      OUTPUT SECTION

Alt programlar                         Subprograms

HATA ÇIKIŞ BÖLÜMÜ           ERROR EXIT SECTION

Alt programlar                         Subprograms

VERİ YAPISI TANIMI              DATA STRUCTURE DEFINITION

BLOK VERİLERİBLOK VERİLERİB BLOK VERİLERİb BLOK VERİLERİ BLOK VERİLERİ                   BLOCK DATA

Alt programlar                          Subprograms

 

ALT PROGRAM (SUBPROGRAM)


A) Alt program bir altyordam(subroutine) , fonksiyon (function) veya blok verileri (block data) tek bir amaçla sınırlıdır. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir.

B) Bir alt program, geçerli tüm argüman kombinasyonları için kendisi için talep edilen süreci doğru bir şekilde yerine getirmeli ve tüm geçersiz argümanlar için savunma eylemini algılamalı ve gerçekleştirmelidir.

C) Bir alt program, programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için yazılmalıdır.

Tipik bir programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için bir alt program yazılmalıdır.Tipik bir programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için bir alt program yazılmalıdır.Tipik bir programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için bir alt program yazılmalıdır.Tipik bir programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için bir alt program yazılmalıdır.Tipik bir programcının dikkatli inceleme, mantık doğrulaması ve yürütme testleri ile doğru çalıştığını belirleyebilmesi için bir alt program yazılmalıdır.

ALT PROGRAM A. Bir alt program bir SUBROUTINE, FUNCTION veya BLOCK DATA'dır ve sınırlıdır tek bir amaca. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir. - 1. Doğrudan bağımlı bir alt programa yürütme veya alt program. Özellikle, bir alt program doğrudan bir yöneticiye (veya başka bir yöneticiye) bağlıdır. yürütücü (veya başka bir alt program) tarafından açıkça referans alınıyorsa. 2. Dolaylı olarak bağımlı bir alt programa doğrudan bağımlı tarafından referans verilir alt program veya dolaylı olarak bağımlı bir alt program. Özellikle, bir alt program dolaylı olarak bir yürütme organına (veya başka bir alt programa) tabi ise yürütmeden (veya başka bir alt programdan) yalnızca en azından bir araya giren alt program. 3. Temel bir alt program herhangi bir alt alt programa referans vermezALT PROGRAM A. Bir alt program bir SUBROUTINE, FUNCTION veya BLOCK DATA'dır ve sınırlıdır tek bir amaca. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir. - 1. Doğrudan bağımlı bir alt programa yürütme veya alt program. Özellikle, bir alt program doğrudan bir yöneticiye (veya başka bir yöneticiye) bağlıdır. yürütücü (veya başka bir alt program) tarafından açıkça referans alınıyorsa. 2. Dolaylı olarak bağımlı bir alt programa doğrudan bağımlı tarafından referans verilir alt program veya dolaylı olarak bağımlı bir alt program. Özellikle, bir alt program dolaylı olarak bir yürütme organına (veya başka bir alt programa) tabi ise yürütmeden (veya başka bir alt programdan) yalnızca en azından bir araya giren alt program. 3. Temel bir alt program herhangi bir alt alt programa referans vermezALT PROGRAM A. Bir alt program bir SUBROUTINE, FUNCTION veya BLOCK DATA'dır ve sınırlıdır tek bir amaca. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir. - 1. Doğrudan bağımlı bir alt programa yürütme veya alt program. Özellikle, bir alt program doğrudan bir yöneticiye (veya başka bir yöneticiye) bağlıdır. yürütücü (veya başka bir alt program) tarafından açıkça referans alınıyorsa. 2. Dolaylı olarak bağımlı bir alt programa doğrudan bağımlı tarafından referans verilir alt program veya dolaylı olarak bağımlı bir alt program. Özellikle, bir alt program dolaylı olarak bir yürütme organına (veya başka bir alt programa) tabi ise yürütmeden (veya başka bir alt programdan) yalnızca en azından bir araya giren alt program. 3. Temel bir alt program herhangi bir alt alt programa referans vermezALT PROGRAM A. Bir alt program bir SUBROUTINE, FUNCTION veya BLOCK DATA'dır ve sınırlıdır tek bir amaca. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir. - 1. Doğrudan bağımlı bir alt programa yürütme veya alt program. Özellikle, bir alt program doğrudan bir yöneticiye (veya başka bir yöneticiye) bağlıdır. yürütücü (veya başka bir alt program) tarafından açıkça referans alınıyorsa. 2. Dolaylı olarak bağımlı bir alt programa doğrudan bağımlı tarafından referans verilir alt program veya dolaylı olarak bağımlı bir alt program. Özellikle, bir alt program dolaylı olarak bir yürütme organına (veya başka bir alt programa) tabi ise yürütmeden (veya başka bir alt programdan) yalnızca en azından bir araya giren alt program. 3. Temel bir alt program herhangi bir alt alt programa referans vermezALT PROGRAM A. Bir alt program bir SUBROUTINE, FUNCTION veya BLOCK DATA'dır ve sınırlıdır tek bir amaca. Bir alt program diğer alt programlara başvurabilir (çağırabilir) veya yürütme organı veya diğer alt programlar tarafından atıfta bulunulabilir. - 1. Doğrudan bağımlı bir alt programa yürütme veya alt program. Özellikle, bir alt program doğrudan bir yöneticiye (veya başka bir yöneticiye) bağlıdır. yürütücü (veya başka bir alt program) tarafından açıkça referans alınıyorsa. 2. Dolaylı olarak bağımlı bir alt programa doğrudan bağımlı tarafından referans verilir alt program veya dolaylı olarak bağımlı bir alt program. Özellikle, bir alt program dolaylı olarak bir yürütme organına (veya başka bir alt programa) tabi ise yürütmeden (veya başka bir alt programdan) yalnızca en azından bir araya giren alt program. 3. Temel bir alt program herhangi bir alt alt programa referans vermez

D) Alt programda dizilere ve değişkenlere erişim, gerçekten gerekli olan dizi ve değişkenlerle sınırlı olmalıdır

  1. Dizilere ve değişkenlere erişim sağlamanın birincil yöntemi argüman listeleridirDizilere ve değişkenlere erişim sağlamanın birincil yöntemi argüman listeleridirDizilere ve değişkenlere erişim sağlamanın birincil yöntemi argüman listeleridir Dizilere ve değişkenlere erişim sağlamanın birincil yöntemi argüman listeleridir.
  2.  Erişim sağlamanın ikincil yöntemi, kullanımı ciddi şekilde kısıtlanan ortak bloklar aracılığıyla yapılır.
  3.  Ortak(common) bloklar yerel veya global olabilir.

MODÜL (MODULE)

  1. Bir modülün sınırlı, iyi tanımlanmış bir hedefi olmalıdır.
  2. Bir modül, kavramsal olarak ilgili tek bir veri yapısını manipüle etmelidir. Bu veri yapısı dış ortamdan izole edilmiştir. Modül dışındaki hiçbir alt programın veri yapısına erişimi veya veri yapısı hakkında bilgisi yoktur.
  3. Bir modül, bir veya daha fazla arabirim alt programından ve alt programlardan oluşur.
  4. Bir modülün minimum harici arayüzü olmalıdır. Değişkenler ve diziler, yalnızca arabirim alt programlarının argümanları aracılığıyla bir modüle veya bir modülden geçirilebilir.
  5. Bir modül içinde, diziler ve değişkenler bağımsız değişkenlerle dikey olarak aktarılabilir veya modülün alt programları arasında tek bir etiketli ortak blok (kavramsal olarak ilgili değişkenler içeren) aracılığıyla yanal olarak aktarılabilir. Bu etiketli ortak blok yereldir ve sadece modül içinde kullanılabilir.
  6. Bir modül iyice belgelenmelidir.                             

                   1. Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.

Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.v Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.Bir modüldeki tüm alt programlar modüle ait dahili belgelerinde tanımlanmalıdır.                   2. Her arabirim alt programı, dahili belgelerinde bu şekilde açıkça tanımlanmalıdır.

                   3. Her arabirim alt programı, modüldeki her alt programın kimliklerini ve amaçlarını gösteren bir ana liste içermelidir.

                   4. Her arabirim alt programı, modüldeki her alt programın dahili belgelerinde adlandırılmalıdır.

        G. Modül örnekleri şunları içerir:

                   1. Giriş alt programı ve alt alt programları.

                   2. Konsolide fenomenolojik model içeren alt programlar.

                   3. Kılavuz üzerinde veri hesaplamaları yapan alt alt programları olan bir veri işleme alt programı.

        H.  Alt programlar ve modüller temelde farklıdır; biri için merkezi olan belki diğeri için uygunsuz olabilir. Bir alt program  tek bir görevi yerine getirirken, modül veri yapısının desteğini paylaşan ve veri yapısını dış ortamdan gizleyen çeşitli görevleri de bir araya toplar. Tek bir arabirim bir alt program için iyi bir yapı olsa da, bir modül için ses programlamasını desteklemeyebilir. Bir modülün veri yapısındaki her işlem için ayrı bir alt program arayüzü olmalıdır; her arabirim alt programında, görevi veri yapısında gerçekleştirmek için gereken bilgilere karşılık gelen bir bağımsız değişken listesi bulunmalıdır.

 

YAPISAL STİLLER (STRUCTURED STYLES)

İyi yazılmış kodun temel unsurlarından biri, yapılandırılmış bir stilin tüm programa, her alt programa ve her bir modüle uygulanmasıdır.

İyi yazılmış kodun temel unsurlarından biri, yapılandırılmış bir stilin tüm programa, her alt programa ve her bir modüle uygulanmasıdır.

İyi yazılmış kodun temel unsurlarından biri, yapılandırılmış bir stilin tüm programa, her alt programa ve her bir modüle uygulanmasıdır.

İyi yazılmış kodun temel unsurlarından biri, yapılandırılmış bir stilin tüm programa, her alt programa ve her bir modüle uygulanmasıdır.

A.  Yapılandırılmış stil tüm program için geçerlidir.

     1. İyi yapı, hem iyi organize edilmiş bir programın hem de yeni sorunları çözmek için kolayca uyarlanabilecek bir programın anahtarıdır. Bir programda yapılan değişiklikler yalnızca yöneticide değişiklik yapılmasını ve yeni alt programların ve modüllerin eklenmesini gerektirir. Mantıksal olarak bölümlenmiş FORTRAN programlarının kod hatalarını ve yürütme hatalarını en aza indirdiği yaygın olarak kabul edilmiştir.

     2. Bir programın şeması Şekil 1'de gösterilmektedir. Her bilgisayar programı ayrı bölümlere ayrılmalıdır:
           a. yürütme,
           b. giriş,
           c. hesaplamalar,
           d. çıktı,
           e. gerekirse hata çıkışı ve
           f. gerekirse veri yapısı tanımı.

     3. Bu genel yapı ilgili görevleri birleştirir. Yeni hesaplama modellerinin modifikasyonları ve birleştirilmesi bu bölümlere kolayca entegre edilebilir.

 

B.  Yapısal stil her alt programa uygulanır.

      1. İyi yapı, bir alt programın diğer alt programdan bağımsız olarak yazılmasına ve alt programın hızlı, kolay ve güvenilir bir şekilde değiştirilmesine veya değiştirilmesine izin verir.

      2. Her alt programın tek bir amacı olmalıdır, böylece program değişiklikleri genellikle yürütmedeki değişikliklerle ve bireysel alt programların değiştirilmesi veya eklenmesi ile sınırlıdır.

 

                 Fortran Bilgisayar Programı Şeması

                                                Şekil 1.  Bir bilgisayar programının şeması.

 

      3. Her bir alt programın giriş ve çıkışları açık ve spesifik arayüzlerle iyi tanımlanmış olmalıdır

 
C. Yapılandırılmış stil her modül için geçerlidir.
 
        1. Bir modül diğer modüllerden bağımsız olarak yazılmalı ve hızlı, kolay ve güvenilir bir şekilde değiştirilebilmesi için yazılmalıdır.
        2. Her modülün birincil amacı olmalıdır, böylece program değişiklikleri genellikle yürütmedeki değişikliklerle ve modüllerin değiştirilmesi veya eklenmesi ile sınırlıdır.
        3. Her bir modülün giriş ve çıkışları, bir veya daha fazla arabirim alt programı aracılığıyla açık ve özel arabirimlerle iyi tanımlanmalıdır.
       4. Bir modül içindeki veri yapıları dış ortamdan izole edilmelidir.

 

                                                PROGRAM ORGANİZASYONU

YÖNETİCİ KONTROL

A. Yönetici program denetleyicisidir. Yönetici sadece bir mantık ve akış direktörüdür.
B. Program adını, sürüm numarasını, sürüm tarihini, geçerli saati ve tarihi birincil çıktı metin dosyasına yazar.

C. Girişin okunmasını sağlar, hesaplamaları yönlendirir, uygun periyodik ilerleme mesajları yazar ve son çıktının yazılmasını yönetir.
D. Yürütmenin asıl amacı mantığı düzenlemek. Tüm önemsiz hesaplamalar alt alt programlarda yapılır. Yürütme, düzenleme için gerekli idari hesaplamalar ile sınırlıdır.

 

GİRİŞ UYGULAMALARI

 A. Herhangi bir kaynaktan kullanıcının belirlediği verilerin okunması, bir girdi alt programı veya modülü tarafından kontrol edilmelidir.

         1. Kullanıcı tanımlı tüm verileri doğrudan okuyabilir veya diğer alt alt programları giriş verilerini okumak veya işlemek için yönlendiren bir giriş ana alt programı olabilir.
         2. Giriş verileri, programın başka hiçbir yerinde değil, yalnızca giriş alt programlarında okunmalıdır.

B. Anahtar kelimeye dayalı giriş teşvik edilir.

         1. Anahtar kelimeye dayalı giriş, giriş dosyalarının okunabilirliğini artırır ve giriş hatalarının sırasını en aza indirir.
         2. Anahtar kelimeye dayalı girdinin hedefleri
               Clarity (Netlik): kullanıcı karışıklığını en aza indirir,
               Conciseeness (Kısa ve öz): yararsız lafları en aza indirir,
               Organization (Organizasyon): ilgili bilgilerin yakınlığını en üst düzeye çıkarır,
               Flexibility (Esneklik): yapay sınırlamaları en aza indirir
               Ease of Uae/L earning (Uae / L kazanma kolaylığı): rahatsızlığı veya öğrenme zamanını en aza indirir.

C. Sabit alan girişi kabul edilebilir. Tüm biçimlendirilmiş girdi veri dosyalarının insan mühendisliği için kritik öneme sahiptir. Beş veya beşlik katlar kullanılmalıdır. Böyle biçimlendirme okunabilirliği artırır.
D. Anahtar kelime güdümlü girdi uygulamak dışında tamamen serbest alan girişi önerilmez. Serbest alan, giriş akışının, bilgilerin yerleştirileceği önceden tanımlanmış sütun konumlarına sahip olmadığı anlamına gelir.
E. Sayılarla giriş seçeneklerinin belirlenmesi yasaktır; anımsatıcı anahtar kelimeler kullanın.

F. Mantıksız veya aralık dışı değerlerin giriş seçenekleri veya kontrol bayrakları olarak kullanılması yasaktır.
Örnek: -10'un negatif bileşenini, negatif olması gereken değişken için bir kontrol seçeneği olarak kullanmayın.
G. Her kullanıcı tanımlı giriş kaydı, söz konusu kaydın READ durumundan hemen sonra uygun bir çıktı dosyasına (eko yazdırılır) yazılmalıdır. Bu yankı baskısı kaydı ve kayıttaki tüm veri alanlarını tanımlamalıdır. Her alanın sütunlarının belirlenmesine yardımcı olmak için bir çıktı satırının veya sayfanın altında veya altında bir işaretçi dizisi kullanılmalıdır.
H. Varsayılan değerler, kullanıcı tarafından bir değer belirtilmediğinde, giriş alt programları tarafından kullanıcı tanımlı giriş değişkenlerine mümkün olduğunda atanmalıdır. Varsayılan değerlerin atanmasının makul olduğu durumlarda, bunları ayarlamak için boş alanlar kullanılmalıdır.
Varsayılan değerler tanımlanmalı ve bu kayıt için READ deyiminin hemen ardından yankı baskısıyla çıktı dosyasına yazılmalıdır.
I. Kritik olan (makul bir varsayılan değeri olmayan) giriş değerleri, aşağıdaki paragrafta belirtildiği gibi açıkça kontrol edilmelidir. Bu değerler dahili ve harici belgelerde tanımlanmalıdır. Kritik bir değerin girilmemesi, kötü giriş verisi olarak değerlendirilmelidir.

 J. Tüm giriş verileri tutarsızlık, tutarsızlıklar ve aralık dışı değerler açısından kontrol edilmelidir. Minimum olarak, tüm giriş verilerinin izin verilen tüm değerler aralığına karşı kapsamlı hata kontrolü zorunludur. Hatalı giriş verileri bulunursa, sorunu bulmak ve tanımlamak için yeterli hata mesajlarının yazılması gerekir.
K. Bir veya daha fazla ölümcül giriş hatası tespit edilirse, giriş verilerinin taranması mümkün olduğu kadar devam etmeli ve sorun tespit edildiğinde hata mesajları yayınlanmalıdır. Girdi verilerinin hatalara karşı taranması mümkün olduğu kadar ilerledikten sonra, yürütme durdurulmalı veya iptal edilmelidir.
L. Aynı referans noktasını bir kereden fazla girmek yasaktır (örneğin, alüminyum yoğunluğu, ... bir kereden fazla girilmemelidir).
M. Kavramsal olarak benzer girdi verileri birlikte gruplandırılmalıdır.
N. Giriş alt programlarında mühendislik birimlerinin (örn. İnç ila santimetre) değişmesi ve ilgili READ ifadelerinden sonra mümkün olan en kısa sürede yapılması gerekir.
0.Giriş okuması bir dosya sonu veya bir işaretleyici ile sonlandırılmalıdır. Önceden belirlenmiş sayımla sonlandırma önerilmez.

P. Giriş veri akışındaki erken dosya sonu nedeniyle bir iptal işlemini engellemek için READ deyimindeki END seçeneği kullanılmalıdır. Bir READ deyimindeki ERR seçeneği hatalı verileri algılamak için kullanılmalıdır (Ancak bu denetim tek başına yeterli giriş doğrulaması değil.).

IOSTAT = okuma seçeneği, basit bir dal yürütmek yerine, okumadan sonra hata denetimi yapmanın istendiği durumlarda END = ve ERR = seçeneklerinin yerine kullanılabilir.

 

                                                 HESAPLAMALI ALTYAPILAR

A. Hesaplamalı alt programlar (fonksiyonlar ve alt programlar) tüm önemsiz hesaplamaları yapmalıdır.
B. Her hesaplamalı alt program, ilk olarak alt programın içindeki tüm değişkenleri başlatmalı veya tanımlamalıdır.
C. Geçici rastgele dosyaları, herhangi bir hesaplamalı alt programda gerektiği gibi yazılabilir ve kullanılabilir.

 

                                                           ÇIKTI ALTYAPILARI


A. Tüm nihai, özet çıktılar çıktı alt programlarına yazılmalıdır. Hesaplamalı alt programlarda ara baskıya yalnızca tanı çıktısı için gerektiğinde izin verilir.

B. Tüm çıktı metinleri ve grafik verileri açıkça tanımlanmalı ve açıkça etiketlenmelidir. Çıktı sayfalarının her biri içeriklerinin yeterli açıklamasını sağlamalıdır. Tam anlama için gerektiğinde, çıktıdan önce% değerini açıklayan bir sayfa gelmelidir
ayrıntılı olarak sonraki sayfada veya sayfalarda görünen çıktı. Mühendislik birimleri, tüm çıktı sayıları ve grafik eksenleri ile ilişkilendirilmelidir.
C. "Ew.d" formatı alan tanımlayıcısını kullanan tüm basılı çıktılarda 1 ölçek faktörü kullanılmalıdır (yani, ondalık noktasının soluna yazdırılan rakam "1.2345E + 12" deki gibi sıfırdan farklı olmalıdır. "0.1234E + 13" yerine). Bir ölçek faktörünün FORMAT deyiminde izleyen tüm alanlar için geçerli olduğunu unutmayın. "1PEw.d" bir "Fw.d" belirtiminden önce gelirse, istenen "F" tanımlama çıktısını elde etmek için "F" tanımı "OPFw.d" olarak değiştirilmelidir.

 

                                                       HATA ÇIKIŞ ALT SORUNLARI


A. Hata çıkış alt programları gerekli değildir, ancak anormal program sonlandırılmadan önce hata analizi, hata raporlaması ve son temizleme gerçekleştirmek için kullanılabilir.
B. Kullanıldığında, hata çıkış alt programları hemen BLOCK DATA alt programlarından önce gelmeli veya BLOCK DATA alt programları kullanılmıyorsa son alt programlar olmalıdır. 

 

                                                        BLOK VERİ YERLEŞTİRME


BLOK VERİLERİ bir modülün veya programın sonunda olmalıdır. Tüm BLOK VERİLERİ adlandırılmalıdır.

 

                                                              BELGELER

 A. DIŞ DOKÜMANTASYON (EXTERNAL DOCUMENTATION)

 Her program tam olarak belgelenmelidir. Dijital Bilgisayar Programlarının Dokümantasyonu için (ANSI) Amerikan Ulusal Standart Yönergelerine eşdeğer dokümantasyon önerilir. Belgeler şunları içermelidir: (1) bilgisayar programı özeti; (2) uygulama bilgileri (kullanım kılavuzu); (3) problem veya fonksiyon tanımı; (4) program tasarım bilgisi; ve (5) örnek problemler.

 B. İÇ DOKÜMANTASYON (INTERNAL DOCUMENTATION)

Aşağıdaki dahili dokümantasyon gerekleri icra için geçerlidir ve dahili dokümantasyon gerekliliklerinden kaynaklanan tüm alt icra icra ve tüm alt programlar için geçerlidir. Harici belgelere ek olarak, tam ve ayrıntılı yorumlar kodun kendi içine serpiştirilmelidir. ANSI, FORTRAN-77 olmayan alt programlar, girişlerinde özel olarak tanımlanmalıdır.

 

Önsöz belgeleri (Preamble documentation) - Yürütücünün ve her alt programın başlangıcında, kodlamayı tam olarak açıklayan ve içine veya dışına geçen tüm bilgileri belirten standart bir yorum bölümü bulunmalıdır. Bu önsöz, adın altındaki ilk satırla başlar ve ilk yorumsuz ifadeden (normalde PARAMETER ifadesi) hemen önceki satırla biter. Tüm genel girişler için aşağıdaki genel kurallar geçerlidir:
A. Önsöz boyunca doğru dilbilgisel stil ve noktalama işaretleri kullanılacaktır.
B. Kısaltmalar, standart birim kısaltmaları dışında, başlangıç ekinde tanımlananlarla sınırlandırılacaktır.
C. Önsözün her satırında, boş yorum satırları hariç sütun 1'de bir 'C' olacaktır.
D. Amaç, Girdi, Çıktı vb. Ana başlıklar beşinci sütundan başlayacak ve tüm ek girintiler 5 boşluğun katlarında sağa taşınacaktır.

 

Yönetici Önsözü (Executive preamble)


Belirtilen sırayla aşağıdaki bilgiler her bir program yöneticisinde görünecektir:
A. Programın açıklaması. Açıklamaya, bir amaç beyanı, kullanılan yöntemin bir taslağı, programın bilinen sınırlamalarının bir açıklaması ve giriş ve çıkış verilerinin kısa bir özeti yer alacaktır.
B. Sürüm numarası ve tarihi.
C. Programcının adı, organizasyonu, adresi ve telefon numarası.
D. Program tarafından kullanılan tüm dosyaların listesi. Liste, dosya türü, yapısı ve içeriğinin kısa bir açıklamasını içerecektir.
E. Yönetici tarafından çağrılan her alt programın bir listesi ve bir satır açıklaması.
F.Yönetimde kullanılan tüm yerel değişkenlerin tam tanımlarını (birimler dahil) içeren alfabetik bir liste.
G. Programda kullanılan referansların bir listesi. 

 

Alt program Önsöz (Subprogram preamble)

Belirtilen sırayla aşağıdaki bilgiler

A. Bir alt program amaçlı ifade.
B. Sürüm numarası ve tarihi. İlk sürümde yapılan değişiklikler, alt programı değiştiren her değişikliğin kısa bir özetini ve değişiklik tarihini içermelidir.
C. Programlayıcının adı, organizasyonu, adresi ve telefon numarası.
D. Kullanılan dosyaların listesi ve dosya türü, yapısı ve içeriğinin kısa bir açıklaması.
E. Alt programın gerektirdiği her alt programın bir listesi ve bir satır açıklaması.
F.Tüm alfabetik liste ve tüm yerel değişkenlerin tam tanımları (birimler dahil).
G. Alt programı geliştirmek için kullanılan referansların bir listesi.
H. Alfabetik liste ve tüm girdi değişkenlerinin tam tanımları (birimler dahil)
tüm kaynaklar.
I. Alfabetik liste ve tüm çıktı değişkenlerinin tam tanımları (birimler dahil).
J. Ticari bir yazılım veya sistem yardımcı programı kullanılıyorsa, kullanıcıyı kullanıldığını belirten bir ifade buraya yerleştirilir. Biliniyorsa, paket veya yardımcı program tarafından kullanılan G / Ç birimlerini tanımlayın.
K. Alfabetik liste ve tüm özel sabitlerin tam açıklaması.
Önsözde bulunabilecek isteğe bağlı bilgiler, amaçtan hemen sonra yerleştirilecek bir yöntem ifadesidir. Notlar, olağandışı bir özelliği vurgulamak veya ek bilgi sağlamak için gerektiğinde herhangi bir yere yerleştirilebilir.

 

     Önsözde bulunabilecek isteğe bağlı bilgiler, amaçtan hemen sonra yerleştirilecek bir yöntem ifadesidir. Notlar, olağandışı bir özelliği vurgulamak veya ek bilgi sağlamak için gerektiğinde herhangi bir yere yerleştirilebilir.

Giriş alt programı giriş bölümü (Input subprogram preamble)

Girdi alt programlarının bazı dokümantasyon gereksinimleri vardır.
Belirtilen yerlerde aşağıdaki bilgiler görünmelidir:
A. Çıktı değişkeni listesinden sonra her girdi kaydının bir açıklaması verilmelidir. Bilgiler, değişken adını, sütunları veya alan konumunu, biçimi ve tam açıklamayı içermelidir. Açıklama, girdi mühendisliği birimlerini, izin verilen değer aralığını ve varsa program varsayılan değerlerini içermelidir.
B. Alt program tarafından birden fazla kayıt okunursa, okunabilecek kayıtların sayısı ve türleri özetlenmelidir. Bu bilgiler, girdi kayıtlarının açıklanmasından hemen sonra yerleştirilecektir.
 

Yorum formu, stil ve yerleşim (Comment form, style, and placement)


Düzgünlüğü yorumlamak, kodu okuma ve anlama görevlerini kolaylaştırır.
A. Yorumlar, kodun içinde kolayca bulunmayan ek bilgiler sağlamalıdır. Bir kod parçasının amacını açıklayın; sadece kodu yeniden ifade etmeyin.
B. Bilgi içeren yorumlar (yani boş ayırıcı satırlar dışında), alt programdaki toplam çalıştırılabilir ifade sayısının en az yüzde yirmisine eşit olmalıdır. Her alt program bu gereksinimi karşılamalıdır. Bu minimum yüzde, dahili kod dokümantasyonunun değişkenleri açıklamak, mantığı açıklığa kavuşturmak ve kodun neyi başarmaya çalıştığını özetlemek için yeterli olmasını sağlamayı amaçlamaktadır.
C.En az bir bilgilendirici yorum olmaksızın art arda 15'ten fazla FORTRAN çalıştırılabilir ifadesi yasaktır. Anlamlı kod bölümleri 10 ila 15 yürütülebilir deyimden daha kısa olmalıdır.
D. Yorumlar kodlama tamamlandıktan sonra değil, kod ile aynı anda yazılmalıdır. Kodlama değiştirildiğinde, yorumlar aynı anda değiştirilmelidir. Eşzamanlı yorumlamanın daha eksiksiz ve doğru dahili belgeler ürettiği gösterilmiştir.
E. Yorumlar, tanımlanan koddan her zaman önce gelmeli, takip etmemelidir. Tüm yorumlar PROGRAM, BLOK VERİLERİ, FONKSİYON veya altyordam ifadesi ile ilişkili END ifadesi arasında görünmelidir.
F. Her bir alt programın yürütülebilir bölümünden önce görünen yorumlar 5. sütunda başlamalıdır. Önsözü izleyen ve yürütülebilir kodla serpiştirilmiş yorumlar girintili olmalıdır; girintili bu yorumlar sütun 20'de başlamalıdır. Açıklığı geliştirdiğinde ara sıra daha fazla girintiye izin verilir.
G. Görsel netliği artırmak için, boş satırların önüne geçilmeli ve bir veya daha fazla bilgilendirici yorumdan oluşan bir blok izlenmelidir.
H. Yorumlar hiçbir şekilde karakter satırları veya sütunları ile sınırlandırılmamalıdır.
Yorumların etrafına kutu çizmek yasaktır.
I. Yürütülemeyen veya yürütülebilir ifadelerin devam çizgileri arasına yorum eklemek yasaktır.
J. Ortak bir bloğun içeriğini tanımlayan özdeş yorumlar, her göründüğünde derhal bu bloktan önce gelmelidir. Her ortak blok değişkeni görünüm sırasına göre tanımlanmalıdır.
K. Parametre ifadesinin içeriğini tanımlayan özdeş yorumlar, her göründüğünde bu ifadeden hemen önce gelmelidir.

L. Yorumlar karışık büyük ve küçük harfler kullanmalıdır.
        1. Yorumlar ve karakter dizgilerinde yalnızca yazdırılabilir ABD ASCII karakterleri kullanılabilir.
        2. Doğru cümle yapısı ve dilbilgisel stil kullanılmalıdır.
        3. Bir cümlenin zorunlu şekli kullanılabilir.
        4. İfadeler yalnızca anlamları tamamen açık olduğunda kullanılabilir.

 

Souce : https://apps.dtic.mil/dtic/tr/fulltext/u2/a173393.pdf

FORTRAN-77 COMPUTER PROGRAM STRUCTURE AND INTERNAL DOCUMENTATION STANDARDS FOR SCIENTIFIC APPLICATIONS 

Dr J.F. Janni - Principal Author
Maj R. Berry -Contributors
Mr J. Burgio
Dr G. Cable
Mr R. Conley, Jr
Capt H. Happ, III
Ms D. Janni ELECTE
Capt L. Lutz
Mr H. Murphy OC123MI
Mr N. Philliber
Mr G. Radke, Jr
Capt J. Spear

June 1986

 

 

https://www.kenanay.com/

Comments powered by CComment