PDA

Tam Sürümünü Görmek İçin : fonksiyonlar


LEthaL
13/05/2003, 16:20
Bir programı yazarken her şey için ayrı ayrı fonksiyon yazmak ne kadar doğru?


acemi
13/05/2003, 16:29
Tekrarlari azaltmak ve kodun okunulurlugunu arttirmak icin fonksiyon kullanmak gerekir ama hic geregi yokken "suradan 10 satir alip bunlari ayri bir fonksiyon yapayim" da dememek lazim.

TeDDy
13/05/2003, 16:33
ewet kodun okunurluğu açısından çok yararlı ama 1 fonksiyonun sadece bir görevi olmalı. Birkaç görevi yapmamalı

acehreli
13/05/2003, 21:23
Evet, her işlev (fonksiyon) olabildiğince kaba hatlar içermeli ve alt işler başka işlevlere taşınmalı.

Çok tekrarlanan bir tavsiye, işlevin bir ekrandan daha uzun olmamasıdır. (Tabii eski zamanın ekranlarıyla bugünküler farklı... :) Herşeyin olduğu gibi bunun da istisnaları olabilir ama işlevler iyidir. :)

Benim için işlev oluşturma kıstaslarından birisi, kod tekrarını görmek oluyor. Daha önce bir işlevde üç satırda yaptığım işi yeni bir işlevde de yapmaya başladığımı gördüğüm an o üç satırı kullanarak yeni bir işlev oluşturuyorum.

ee++
13/05/2003, 21:45
Belirli bir mantık çerçevesinde mümkün oldugunca işlevlere bölmek gerekir. Bir işlevin uzunluğu prensib olarak 15-20 satırı geçmemelidir. Bunun istisnası ancak uzun swicth-case yapıları olabilir.

Bu konuda yakın zamanda yaptığım bir sunumu da ilgilenen arkadaş varsa paylabilirim.

LEthaL
14/05/2003, 00:03
bana gonderebilir misin?
lethal@lycos.com

LEthaL
14/05/2003, 00:05
İşletim sistemi yazmaya karar verdim. Bir arkadaş daha var onun da böyle bir düşüncesi varmış.
Amacım sadece mantığını öğrenmek. Tabi bunun yanında da Assembler ve C nin harikalarını keşfetmek.
Bu konu hakkında yorumlarınızı, fikirlerinizi bekliyorum.

ee++
14/05/2003, 00:38
Ben de bir ara bir tane yazıcam... Cook uzun mesele.. Yazınca görüselim..

(Sunumu yarın gönderebilirim sanırım.)

Mingitau
14/05/2003, 10:44
Bana da gönderir misin?
abakana@gyte.edu.tr

Volkan Uzun
14/05/2003, 11:49
tekrar azaltmak, kod okumasının kolayligi ve birde bakım kolaylaştırma, mesela, çıkış yapılacak iş için bir fonksiyon yazılabilir, daha sonra bunun içinde de yazıcı,ekran,mail vs gibi çıkış fonksyionların çağırılır, bu sayede, eğer yeni çıkış eklenmek veya çıkış format değişikliğinde bakım kolaylaşır

EAN
14/05/2003, 12:00
İşletim sistemi yazmak isteyen arkadaşlar;

Her türlü GUI itina ile tasarlanır, programlanır. :D

Beni arayın; :P

@MetallicAhmeT: Ne demek istediğini tam anlayamadım. Neden başka işlevi olmamalı? Yani ben + diye bir operatör yazıyorsam bunu toplama dışında kullanamazmıyım? (Örneğin bir aritmetik ortalama programında...)

// ee++, ben de isterem>> elion@softhome.net

LEthaL
14/05/2003, 14:34
ee++ tamam yazınca görüşürüz hatta yazarken bile :) benim assembler hakkında pek bilgim yok; ama öğreneceğim.
KOlay gelsin.

ee++
20/05/2003, 23:22
Selamlar,

Sonunda bahsettigim sunumu sizinle de paylasma firsati buldum. ppt ve pdf formatlarinda su adreslerde:

http://ata.cs.hun.edu.tr/~b9920235/seminer/02_Mukemmel_C_Programlama_-_Bicimsellik.ppt

http://ata.cs.hun.edu.tr/~b9920235/seminer/02_Mukemmel_C_Programlama_-_Bicimsellik.pdf

Yararli olmasi dilegiyle..

p4r4h4t
21/05/2003, 08:03
@ ee++
coooooooook tesekkur ederim

RaiST
21/05/2003, 08:54
lethal bi mailını filan alabilirmiyim

LEthaL
21/05/2003, 10:35
lethal@lycos.com

LEthaL
21/05/2003, 10:41
Çok iyi oldu bu linkler. Ben de alıştırmalarla ilgili bir adres buldum.

http://haydut.cmpe.boun.edu.tr/olimpiyat/bilgisayar/sorular.html
Algoritmalar ile ilgili

Volkan Uzun
21/05/2003, 10:48
selam e++,
bazı eksiklikler var sanırım.
ilk olarak main işletim sistemi tarafından çağırılmaz, startup code tarafından çağırılır.
ikinci olarak main2in 2 değil üç parametreside olaiblir.
int main( int argc[ , char *argv[ ] [, char *envp[ ] ] ] ); gibi.

ee++
21/05/2003, 16:29
sanal_programci, sanirim o kadar zorlamaya gerek yok?..

(Bu sunumu bizim 1. siniflara yaptik..)

Volkan Uzun
21/05/2003, 16:50
zorlamakmı ?
peki.:confused:

EAN
21/05/2003, 17:23
Boşuna tartışmayın. 1. sınıflar zaten bir şey anlamamışlardır.

ehik :D

Bu arada ben çok beğendim.

ee++
21/05/2003, 19:26
Anladılar sağ olsunlar.. Ama main()'in üçüncü parametresini de anlatmayı da çok gerekli görmedik, o kadarını da anlamalarına gerek yok.. (ki zaten olan bicimsellik daha cok bu sunumda..) Zaten bu normlara bari uyarak kod yazsa herkes çok da bir sorun kalmayacak..

(Bu arada, tabi sunumdakilerin ne kadarının evrensel oldugunu hic tartismiyorum.. Sunumda asil vermek istedigimiz "tutarli" olmalari gerektigi idi.)

Gorusler icin tesekkur ederim.