CSD-OS İşletim Sistemi Projesi - Fonksiyon Açıklama Standardı



Benzer belgeler
YSÖP KULLANIM KILAVUZU

KATEGORİSEL VERİ ANALİZİ (χ 2 testi)

B02.8 Bölüm Değerlendirmeleri ve Özet

Her derecede yönetici aslında karar (lar) veren ve bunları uygulayan/uygulatan kişidir. Karar vermek birden çok seçenekten birini uygulamak demektir.

Şekil 1.2:Programa giriş penceresi

DÖNER SERMAYE MALİ YÖNETİM SİSTEMİ

SLCM - Modül (Ders) Yaratılması

uzman yaklaşımı Branş Analizi öğretim teknolojileri ve materyal tasarımı Dr. Levent VEZNEDAROĞLU

360- ÖDENECEK VERGİ VE FONLAR HESABINA (GELİR VERGİSİ KESİNTİSİ) İLİŞKİN say2000i UYGULAMASI

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

R.G UBAN (ULUSAL BANKA HESAP NUMARASI) TEBLİĞİ

11. TASARIM ŞABLONU KULLANARAK SUNU HAZIRLAMAK

Almanca da Sıfatlar (Adjektive) ve Sıfat Tamlamaları - Genç Gelişim Kişisel Gelişim

Test Geliştirme. Testin Amacı. Ölçülecek Özelliğin Belirlenmesi Yrd. Doç. Dr. Çetin ERDOĞAN

Temel Bilgisayar Programlama

BULUġ BĠLDĠRĠM FORMU/ GIDA

ENF TEMEL BİLGİSAYAR BİLİMLERİ Eğitim/Öğretim Yılı Bahar Dönemi DÖNEM SONU LAB. ÖDEV TESLİM DUYURUSU

Kurumsal Yönetim ve Kredi Derecelendirme Hizmetleri A.Ş. Kurumsal Yönetim Derecelendirmesi

ÖZEL İLETİŞİM VERGİSİ GENEL TEBLİĞİ (SERİ NO: 14) BİRİNCİ BÖLÜM Amaç, Kapsam ve Dayanak

SİRKÜLER İstanbul, Sayı: 2016/01. Konu: E-DEFTER GÖRÜNTÜLEYİCİ PROGRAMI İLE SÖZ KONUSU PROGRAMA İLİŞKİN KULLANIM KILAVUZU YAYINLANMIŞTIR

YÜKSEKÖĞRETİM KURUMLARI ENGELLİLER DANIŞMA VE KOORDİNASYON YÖNETMELİĞİ (1) BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

Bilgilendirme Politikası

Kurulum talimatları hakkında genel bilgiler. Elektrik bağlantıları

Kurumsal Yönetim ve Kredi Derecelendirme Hizmetleri A.Ş. Kurumsal Yönetim Derecelendirmesi

MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ)

VEZNE PROGRAMINDA POSTA ÜCRETİ İLE İLGİLİ YAPILAN DÜZENLEMELER (Vezne Sürüm: )

İDARİ VE MALİ İŞLER DAİRE BAŞKANI 25 TEMMUZ 2015 KİK GENEL TEBLİĞİ VE HİZMET ALIMLARI UYGULAMA YÖNETMELİĞİNDE YAPILAN DEĞİŞİKLİKLER DURSUN AKTAĞ

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

Uzem Eğitmen Girişi. Şekil 1. Sisteme girdikten sonra Şekil 2 deki ekran karşımıza çıkacak. Bu ekrandaki adımları kısaca tanıyalım.

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Yazma Becerileri 2 YDA

Basit Bir Elektrik Süpürgesi

SINAV ŞARTNAMESİ ( TURİZM SEKTÖRÜ )

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

Faaliyet Alanları. 22 Aralık Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

13 Kasım İlgili Modül/ler : Satın Alma ve Teklif Yönetimi. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

YÜZÜNCÜ YIL ÜNİVERSİTESİ

Çılgın Yıldızlar. Soru:

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

Windows 7 doğru güvenlik ayarları ile güvenli düzeyde çalışma kapsamına gelir. Alttaki altı adim size bunu kolayca başarmanın yolunu gösterir.

TÜRKĠYE CUMHURĠYETĠ, MALĠYE BAKANLIĞI, MALĠ SUÇLARI

E-OKUL TASDİKNAME GİRİŞİ

İNTEGRAL MENKUL DEĞERLER A.Ş. BİLGİLENDİRME POLİTİKASI

AIMCO AIMCO. Kullanım Kılavuzu. Mayıs 2016

ELITE A.G. KS100/HEFM SICAK-SOĞUK ETĐKET BOY KESME VE ĐŞARETLEME MAKĐNASI KULLANIM KILAVUZU

ÖZEL İLETİŞİM VERGİSİ GENEL TEBLİĞİ (SERİ NO: 14) BİRİNCİ BÖLÜM

5510 sayılı SGK kanunu hakkında duyurular

in Kullanımı tamamlamış gerçekleştirmiş

İstemci Yönetimi ve Mobile Printing (Mobil Baskı) Çözümleri

Sonlu Durumlu Makineler

Yürürlük Tarihi: 12/09/ Kodu: ED Rev. No/Tarihi: 00 1 / 33

İYON DEĞİŞİMİ AMAÇ : TEORİK BİLGİLER :

İKİ BOYUTLU GÖRSEL ARAÇLAR HARİTALAR

T.C. NUH NACİ YAZGAN ÜNİVERSİTESİ YAZILIM KULÜBÜ TÜZÜĞÜ. BİRİNCİ BÖLÜM Kuruluş Gerekçesi, Amaç, Kapsam, Dayanak ve Tanımlar

YABANCI İŞÇİLERİN ÜÇ AYDAN SONRA SİGORTALI OLMALARI ZORUNLU MU? I- GİRİŞ :

BULUŞ BİLDİRİM FORMU / APARAT

Tasarım Raporu. Grup İsmi. Yasemin ÇALIK, Fatih KAÇAK. Kısa Özet

Harici Ortam Kartları

İhtiyacınız, tüm sisteminizin kurumsallaşmasını sağlayacak bir kalite modeli ise

Görsel Tasarım İlkelerinin BÖTE Bölümü Öğrencileri Tarafından Değerlendirilmesi

YÖNETMELİK ANKARA ÜNİVERSİTESİ YABANCI DİL EĞİTİM VE ÖĞRETİM YÖNETMELİĞİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

Satış Amaçlı Elde Tutulan Duran Varlıklar ve Durdurulan Faaliyetlere İlişkin Türkiye Finansal Raporlama Standardı (TFRS 5)

Kurumsal Yönetim ve Kredi Derecelendirme Hizmetleri A.Ş. Kurumsal Yönetim Derecelendirmesi

KAVRAMLAR. Büyüme ve Gelişme. Büyüme. Büyüme ile Gelişme birbirlerinden farklı kavramlardır.

Evrak Ekle. Kurum İçi Giden Evrak Ekleme. Kırmızı renker; doldurulması zorunlu alanları ifade etmektedir. İleri Geri tarihli işlem yapılamamaktadır.

Ek 1. Fen Maddelerini Anlama Testi (FEMAT) Sevgili öğrenciler,

MESLEKİ GELİŞİM DERSİ 2. DÖNEM 1. YAZILI ÇALIŞMA SORULARI

1. Mesaj Tipi ve Mesaj Fonksiyonu Bazında Bildirim Mail Adresi Tanımlama Đşlemleri

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

: 3218 Sayılı Serbest Bölgeler Kanunu Genel Tebliği (Seri No: 1) nde Değişiklik Yapılmasına Dair Tebliğ (Seri No: 3) yayımlandı.

29 Ocak 2015 Senato Sayı : 123 YÖNERGE

Yrd. Doç. Dr. Hüseyin Odabaş

T.C ATAŞEHİR ADIGÜZEL MESLEK YÜKSEKOKULU

İşletim Sisteminin Katmanları

Ç.Ü. GÜZEL SANATLAR FAKÜLTESİ İÇ MİMARLIK BÖLÜMÜ GÜZ YARIYILI İÇM PROJE 5 & DİPLOMA PROJESİ

Türk-Alman Üniversitesi Mühendislik Fakültesi Staj Yönergesi. Ek İsterler

ARAYÜZÜN TEKNİK ÖZELLİKLERİ

KolayOfis Başlangıç Rehberi Kısa Mesaj Yönetimi

ZİRVE ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ EĞİTİM BİLİMLERİ BÖLÜMÜ PSİKOLOJİK DANIŞMANLIK VE REHBERLİK ABD

KOCAELİ İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ EVRAK TAKİP SİSTEMİ


Kurumsal Yönetim ve Kredi Derecelendirme Hizmetleri A.Ş.

ABANT İZZET BAYSAL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ DERGİSİ YAZIM VE YAYIM KURALLARI

T.C. KIRIKKALE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ STAJ YÖNERGESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ STAJ KURALLARI

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

TEK PENCERE SİSTEMİ Dahilde İşleme İzni Memur Kılavuzu

ÖĞRENCİ BİLGİ EKRANI )ZORUNLU DERSLER )ÜST DÖNEM DERSLERİ )BAŞARILI OLUNAN DERSLER )SEÇMELİ DERSLER...

ENF-106 C Programlama Dili Ders İçeriği. Grafik fonksiyonları C Programlama Dili Ders Notları Dr. Oğuz ÜSTÜN

HÂKİMLER VE SAVCILAR YÜKSEK KURULU HUKUKİ MÜZAKERE TOPLANTILARI PROJE FİŞİ

Başbakanlık (Hazine Müsteşarlığı) tan:

VER TABANI VE STANDART DOSYA PLANI KURULUM KLAVUZU

YILDIZ TEKNİK ÜNİVERSİTESİ DERS GÖREVLENDİRME YÖNERGESİ

Digifresh Kullanım Kılavuzu

KAPSAMLI İÇERİK SADELEŞTİRİLMİŞ ARAMA MOTORU YENİLİKÇİ BİLGİ İŞLEME TEKNOLOJİSİ PRATİK GÖRÜNTÜLEME ARAÇLARI MOBİL ERİŞİM

Biçimli ve güzel bacaklara sahip olmak isteyen kadınlar, estetik cerrahların

Origami. Bu kitapç n sahibi. Haz rlayan: Asl Zülal Foto raflar: Burak Murat Bayram Tasar m: Ay egül Do an Bircan Çizimler: Bengi Gencer

TEHLİKELİ ATIK BEYAN FORMU

DİCLE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ STAJ UYGULAMA ESASLARI 1. GENEL HUSUSLAR

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

Transkript:

CSD-OS İşletim Sistemi Projesi - Fonksiyon Açıklama Standardı C ve Sistem Programcıları Derneği Kasım 2002

İçindekiler: 1 -GIRIŞ 3 1.1.NEDEN STANDARTLARA IHTIYACIMIZ VAR? 3 2 -İMLA VE YAZIM 3 2.1.TÜRKÇE AÇIKLAMALARDA 3 2.2.İNGILIZCE AÇIKLAMALARDA 3 3 -AÇIKLAMA DÜZENI 4 3.1.PROTOTIP 4 3.2.PARAMETRELER 4 3.3.BILDIRIM DOSYALARI 5 3.4.AÇIKLAMA 5 3.5.GERI DÖNÜŞ DEĞERI 5 3.6.KAYNAK KOD 6 3.7.DIĞER BILGILER 6 3.8.YAZAR(LAR) 6 3.9.NOTLAR 6 2

1 - Giriş Bu makale CSD İşletim istemi Geliştirme Projesi kapsamında proje grupları tarafından kullanılacak olan fonksiyon açıklama standardını tanımlamaktadır. Makale Nihan ÜNLÜTÜRKLER tarafından derlenmiştir. Makale ile ilgili sorularınız ve yorumlarınız için yazara nihan.unluturkler@csdos.org adresinden ulaşabilirsiniz. 1.1. Standarlara Neden Gereksinim Duyarız?! Fonksiyonların herkes tarafından doğru bir biçimde anlaşılması ve kullanılması gerekir. Pek çok fonksiyonun çeşitli parametre değerleri için özel davranışları vardır. Bu özel davranışlar eksiksiz bir biçimde ele alınıp dökümante edilmelidir.! Fonksiyonlar yalnızca yazan kişi tarafından kullanılmazlar. Kaldı ki fonksiyonu yazan kişiler bile bir süre sonra fonksiyonun nasıl kullanıldığını unutabilirler. Kullanılan fonksiyonlar hakkında açıklamaların kalıcı bir biçimde yapılması gerekir.! Ekip çalışmalarında ortak dil kullanılmalıdır. Standartlar bu ortak dili oluşturmaktadır.! Standartlar grup çalışmalarında zaman kazancı sağlar. 2 - İmla ve Yazım 2.1. Türkçe Açıklamalarda Dökümantasyonun yapıldığı ya da taşındığı elektronik ortam Türkçe karakterlerin problemsiz görüntülenmesini sağlayamıyorsa Türkçe de bulunup İngilizce de bulunmayan karakterler için onların en yakın İngilizce karşılıkları tercih edilmelidir. Türkçe karakterlerin en yakın İngilizce karşılıkları aşağıda belirtilmiştir: İ, ı Ş, Ç, Ğ; ş, ç, ğ Ö, Ü; ö, ü I, i S, C, G; s, c, g O, U; o, u yerine gelmelidir Şekil 1 Türkçe-İngilizce karakter dönüştürmesi 2.2. İngilizce Açıklamalarda İngilizce açıklamalarda oluşabilecek yazım hataları yazım denetim programları ile kontrol edilip düzeltilmelidir. Düzeltme işlemleri için Çeviri Grubu ndan yardım alınabilir. 3

3 - Açıklama Düzeni Açıklama düzeni sırasıyla Prototip, Parametreler, Bildirim Dosyaları ve Açıklama bölümlerinden oluşmaktadır. 3.1. Prototip Fonksiyon açıklama işleminin ilk bölümünü prototip bildirimi oluşturmaktadır. Bu bölümde açıklanacak fonksiyonun prototipi iyi isimlendirilmiş parametre değişkenleri kullanılarak yapılmalıdır. Parametre değişkenleri hakkında açıklamalar Parametreler bölümünde burada kullanılan isimler eşliğinde yapılacaktır. Fonksiyon prototipi kodlamada kullanılan prototip ile tamamen aynı olmalıdır. Kodlama ile dökümantasyon arasında hiçbir farklılığın olmaması esastır. PVOID AllocMem(HHEAP hheap, DWORD dwsize, DWORD dwflags); 3.2. Parametreler Fonksiyon parametreleri hakkında açıklamaları içerir. Burada her parametre değişkeni aşağıdaki yapıya uygun olarak işlevsel bakımdan açıklanmalıdır: Parametre değişkeni: Açıklama Açıklama tüm özel durumları kapsamalıdır. hheap: Tahsisatın yapılacağı heap sisteminin handle değeridir. Heap alanının handle değeri CreateHeap fonksiyonundan elde edilebilir. Bu parametre NULL olarak geçilirse tahsisat process in varsayılan heap alanı üzerinde yapılır. dwsize: Tahsis edilecek alanın byte cinsinden miktarını belirtir. Bu değer kullanıcı alanı için ayrılmış olan 3 GB değerinden büyük olamaz. dwflags: Tahsis edilecek alana ilişkin ek özellikleri belirler. Bu parametre aşağıdaki sembolik sabitlerle belirlenir. Birden fazla özelliği etkin hale getirebilmek için bu sembolik sabitler bit düzeyinde Veye işlemiyle birleştirilebilirler. HEAP_ZERO_MEMORY: Tahsis edilen bellek bölgesi sıfırlanır HEAP_NO_SERIALIZE: Tahsis edilecek bellek alanına birden fazla thread tarafından erişildiği durumda işlemler normal olarak iç içe girmeyecek biçimde seri hale getirilmektedir. Bu seçenek seri hale getirme işlemini kaldırmaktadır. 4

3.3. Geri Dönüş Değeri Bu bölümde fonksiyonun geri dönüş değerinin ne anlam ifade ettiğine ilişkin açıklamalar yer alır. Geri dönüş değerine ilişkin açıklamalar tüm özel durumları içerecek biçimde yapılmalıdır. Fonksiyon başarı durumunda tahsis edilen bellek bölgesinin başlangıç adresine, başarısızlık durumunda ise NULL değerine geri dönmektedir. Başarısızlığın en önemli nedenleri fonksiyonun birinci parametresine yanlış bir handle değerinin geçilmesidir. Başarısızlık durumunda başarısızlığın nedeni GetLastError fonksiyonu ile elde edilebilir. GetLastError fonksiyonunun bildireceği başarısızlık değerleri şunlar olabilir: ERROR_INVALID_HANDLE ERROR_NOT_ENOUGH_MEMORY 3.4. Bildirim Dosyaları Burada fonksiyon prototipinin bulunduğu başlık dosyası ile fonksiyonun kullanımı için gerekli olabilecek başlık dosyalarının hangileri olduğu belirtilir. Bazı fonksiyonların kullanılması için fonksiyon prototipinin yanı sıra bazı sembolik sabitler ve tür isimlerine de gereksinim duyulur. Başlık dosyalarının listelenmesi işleminde prototipin bulunduğu dosya en yukarıya yazılmalıdır. Hangi dosyasının hangi nedenle include edildiği belirtilmelidir. #include heap.h #include syserr.h heap.h syserr.h : Fonksiyon prototipi ve üçüncü parametre bulunan sembolik sabitler : Hata kodlarına ilişkin sembolik sabitler 3.5. Açıklama Bu bölümde aşağıdaki durumlar açıkça belirtilmelidir:! Fonksiyonun ne amaçla kullanıldığı! İşlevi! Çalışmasına yönelik özel ve istisna durumları Kullanım durumunda dikkat edilmesi gereken durumlar Bu fonksiyon process in önceden yaratılmış olan heap alanı üzerinde tahsisat yapmakta kullanılır. Tahsisat işlemi sistem tarafından seri hale getirilerek yapılmaktadır. Bu durum 5

farklı thread lerin kullanıldığı uygulamalarda heap organizasyonunun bozulmasına engel olur. Seri hale getirme işlemi fonksiyonun dwflags parametresinde HEAP_NO_SERIALIZE belirlemesi ile kaldırılabilir. Fonksiyon tahsis edilmek istenen alan boş heap alanından büyük ise başarısızlıkla geri döner. Boş heap alanının büyüklüğü GetHeapFreeSize fonksiyonu ile elde edilebilir. 3.6. Tanımlama Yeri Fonksiyonun hangi kaynak dosyada tanımlandığı burada belirtilmelidir. 3.7. Diğer Bilgiler Fonksiyonla ilgilii öğrenilmesi gereken başka dosyalar varsa, onlardan oluşan kısa bir isim dizisi Diger Bilgiler başlığı altında yazılmalıdır. 3.8. Yazarlar Kodun yazılış tarihi ve kim tarafından yazıldığı burada belirtilmelidir. Eğer kod üzerinde sonradan değişiklik yapılırsa; kim tarafından yapıldığı, tarihi ve yapılan değişikliğe ilişkin küçük bir not eklenmesi gerekmektedir. 3.9. Notlar Diğer bilgiler, kodu yazanın ve düzenleyenin yorumları, böcekler vs. burada belirtilmelidir. 6