desparado
27-10-2007, 02:50 AM
nArkadaşlar php geliştiricileri ve ya diğer açık kaynak geliştiricileri çalışma gruplarında belli standartlar dahilinde çalışmalarını yürütürler herkes aynı yazım standardı içerisinde çalışır bu bir zorunluluktur .
neden derseniz açık kaynak bunu gerektiriyorda ondan eğer bu böyle olmasaydı açık kaynak gelişimini bu kadar mükemmel sürdüremezdi bu demek değildirki hep aynı kalalım aksine standardın üstüne çıkılır ve herkeste o seviyeye çıkar eğer bir ekip işiyse çıkamayan elimine edilir ve ya adepte olması sağlanır konunun bizimle ilgisi sıfırdan bir yola girerken o yolu daha evel gitmiş gelmiş insanların tecrübelerini ve o yolda koydukları işaretleri gözardı etmememiz gerektiğidir. nedir bu işaretler ve ya bu standartlar .derseniz kısa kısa örnekler le açıklamak istiyorum 1.YAZIM STANDARDI
a ) STANDART OLAN YAZIM
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?
class MysqlConnect {
var $HostName="localhost";
var $MysqlUserName="root";
var $MysqlDataName="vt";
var $MysqlPassword="";
function MysqlConnect()
{
$Connect=mysql_connect($this->HostName,$this->MysqlUserName,$this->MysqlPassword);
if ($Connect) {
echo"bağlantı true";
} else {
echo "bağlantı false";
}
return $Connect;
}
}
$Object= new MysqlConnect();
echo $Object->MysqlConnect();
?>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
b ) STANDART OLMAYAN YAZIM
<?
class mysqlconnect {
var $hostname="localhost";
var $mysqlusername="root";
var $mysqldataname="vt";
var $mysqlpassword="123456";
function mysqlconnect()
{
$connect=mysql_connect($this->hostname,$this->mysqlusername,$this->mysqlpassword);
if ($connect) {
echo"bağlantı true";
}
else {
echo "bağlantı false";
}
return $connect;
}
}
$object= new mysqlconnect();
echo $object->mysqlconnect();
?>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Yukarıda birinci örnekte verilen yazım standardı dünyada hemen hemen tüm dillerde Başta c++ ve Java + php dilinde nesne modeliylen beraber standart olarak kabul edilir ve bizim de kodlarımızı
bu çizgide yazmamız gerekir
kodlamada göze çarpan unsurlar sınıf değişken ve ya fonksiyonlar bir kelimeden fazlaysa başındaki karakterle ondan sonra gelen kelimedeki karakterler büyük harfle yazılmasıdır.
bu hemen hemen herkesin ortak konuştuğu bir dildir
Altaki İkinci Yazımsa Aynıdır fakat standartların dışındadır Aradaki farklar belli dir sanırım
ikiside aynı sonucu verir fakat biri standart lar dahilindedir diğeriyse dışındadır
bu konuyla ilgili su getirmez çok tartışmalar yaşanmıştır fakat her kes birinci kısımdaki yazım metodunu standart olarak kabul etmiştir
Geçelim ikinci konumuza
2.PLANLAMA
( Aslında Bu Alan başlı başına bir mühendislik alanıdır bu aşama yı iyi geçenler çok güzel sonuçlar alırlar )
Programlamada karşılaşılan en büyük sıkıntılar ve sorunlar iyi bir planlama yapılamadığından ötürü büyük zaman kaybı
ve derin hayal kırıklıklarıyla sonuçlanabilir parasal kayıplarda dahil
olayı çok basitleştirmemek gerekiyor
hatta bir ara meşhur bir laf vardı php bir öğleden sonra vakit ayrılarak öğrenilecek bir dildir diye
öğle değildir diye düşünüyorum en azından ben öyle düşünüyorum
bu konu kişi ve programcıya göre değişir biz konumuzdan sapmayalım planlamanın önemini ufak tefek şeyler de belki
anlamayabiliriz ama elimize komplex bir iş gelince başınıza gelecekleri düşünün farzedelim iyi bir iş aldınız teslim süreniz 3 ay bunun muhakkak bir haftasını
veritabanı ve kod yazım şemasının planlanmasına ayırmalısınız bu konu gerçektende hafife alınmayacak kadar önemlidir
yoksa başınıza geleceklerden kısaca bahsedeyim
bir örnek
Eğer Yaptığınız hatayı düzeltmeye çalıştığınızda Tüm Program olmasada belli bir kısmını yeniden yazmak zorunda kalabilirsiniz
: Bir e- ticaret sitesi yaptığımızı düşünelim
Bu sitedeki işlevlerden birisi gelen siparişlerin adrese teslim edilmesi işlemi
İşlevlerden bir kaçıysa malın satışı iadesi ve garanti işlemlerini takip edebilir olduğunu farzedelim
Sonucta bende bir müşteriyim beğendiğim bir bilgisayarı kişisel bilgilerimi girerek satın aldım
ve bilgisayar adresime teslim edildi
müşteri bilgileri bir tabloda tutuluyor ve sipariş alınırkenen sipariş tablosuna bu kişisel bilgiler ekleniyor
Alınan bilgiler sipariş tablosuna kaydedilir ve o siparişin bir id si oluşturuluyor
o siparişle ilgili tüm işlemler o sipariş numarasıyla takip ediliyor
tablonun özelliği en kısa anlamda şöyledir
(1-- Siparis ID)-- (2 Sipariş verilen Malın cinsi)---(3.sipariş veren adı)--- (4.sipariş verenin adres bilgisi)---(5.sipariş tarihi)--(-6.ödeme şekli)
verdiğim bilgisayar siparişi evime geldi ödememi yaptım bilgisayarımı teslim aldım
derkenen tayinim çıktı ankara ya gittim (hayat işte) bende müşteri bilgi sistemine girdim yer ve adres bilgilerini güncelledim
aradan bir süre geçti bilgisayarım arıza yaptı
bilgisayarımı kargoyla aldığım firmaya gönderdiğimde bigisayarın özelliklerini siparis id sini girrerek bakacakları malumdur orada benim adres ve kişisel bilgilerim
vardı sonra bilgisayarı o adrese gönderdiklerini bir olasılıkla göz önünde bulundurmanız lazım ne olurdu eski adresime gönderdiler ama benim yerim
değişti ben artık ankaradayım şimdi diyeceksiniz ki bir telefon açarsınız olay biter öyle değil bu garanti servislerinin öyle iş yoğunluğu vardırki siz yaptığınız
işlerde hatayı minumuna düşürmek zorundasınız bütün olasılıkları hesaplamak zorundasınız planlamanın önemi anlaşılmıştır umarım
onun için kişinin adres bilgilerini sipariş tablosunda bulundurmamanız lazım o bilgiler müşteri bilgileri tablosunda kalmalıydı
sipariş tablosuna sadece müşteri bilgi tablosundaki kayit id si eklenmeliydi eğer sorgu yapıldığında sipariş tablosunda bulunan müşteri id si güncellenmiş olduğundan
(1-- Siparis ID)-- (2 Sipariş verilen Malın cinsi(3.Müşteri bilgi ID si)---(5.sipariş tarihi)--(-6.ödeme şekli)
en güncel adres ve telefon bilgilerine ulaşmış olacaktık
bu yaklaşım doğru programlamadır planlama olasılıkları hesaplamak
üzerinden geçer buna çok dikkat etmelisiniz
başımızdan geçen bir olayı sizinle paylaşmak istiyorum
iki arkadaş bir iş aldık mağaza stok ve müşteri takip programı php mysql ile yapacaz
şubeleri olan bir mağaza olduğu için ve mağaza sahibinin internet ten sürekli mağazalarını takip etmek istemesi bu iş için php mysql biçilmiş kaftandı bizim için
neyse stok kısmı derken cari kısım derken sözleşme basımı kasa durumu taksitlendirmeler falan derkenen çalıştırmaya başladık
geldik bir yerde takıldık !!
aslında yorgunluktan olsa görek çözüm üretemiyoruz sorun şuydu
adam geldi televiyon aldı televizyon 100 lira kaç taksit diyoruz 10 taksit 100 lirayı 10 na bölüyor taksit günlerini belirliyor sözleşmeye yazıyor
ama adam gelipte bir taksidinin hepsini ödemeyince yani 10 lira yerine 9 lira verince program kontrolumuzden çıkıyordu yada gelip 3 aylık taksitleri bir den verince
gene aynı sorun
gerçek hayat işte :)))))
neyse planlamanın önemini biliyorduk ama çok kötü bir yerimizden vurmuştu bizi
sonunda onlarca kıyaslamanın sonunda -cözümü ürettik ama bizim için baya yorucu bir deneyim olmuştu çünkü yapının çoğunu hazırlamıştık
o da en az müdahalelerle sorunu halletmek ti çözüm hayat işte yaptıkça öğreniyorsun :))))
umarım faydalı olmuştur daha yazılacak çok şey var ama bizimde önümüzde yazmak için bol bol vaktimiz var
neden derseniz açık kaynak bunu gerektiriyorda ondan eğer bu böyle olmasaydı açık kaynak gelişimini bu kadar mükemmel sürdüremezdi bu demek değildirki hep aynı kalalım aksine standardın üstüne çıkılır ve herkeste o seviyeye çıkar eğer bir ekip işiyse çıkamayan elimine edilir ve ya adepte olması sağlanır konunun bizimle ilgisi sıfırdan bir yola girerken o yolu daha evel gitmiş gelmiş insanların tecrübelerini ve o yolda koydukları işaretleri gözardı etmememiz gerektiğidir. nedir bu işaretler ve ya bu standartlar .derseniz kısa kısa örnekler le açıklamak istiyorum 1.YAZIM STANDARDI
a ) STANDART OLAN YAZIM
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?
class MysqlConnect {
var $HostName="localhost";
var $MysqlUserName="root";
var $MysqlDataName="vt";
var $MysqlPassword="";
function MysqlConnect()
{
$Connect=mysql_connect($this->HostName,$this->MysqlUserName,$this->MysqlPassword);
if ($Connect) {
echo"bağlantı true";
} else {
echo "bağlantı false";
}
return $Connect;
}
}
$Object= new MysqlConnect();
echo $Object->MysqlConnect();
?>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
b ) STANDART OLMAYAN YAZIM
<?
class mysqlconnect {
var $hostname="localhost";
var $mysqlusername="root";
var $mysqldataname="vt";
var $mysqlpassword="123456";
function mysqlconnect()
{
$connect=mysql_connect($this->hostname,$this->mysqlusername,$this->mysqlpassword);
if ($connect) {
echo"bağlantı true";
}
else {
echo "bağlantı false";
}
return $connect;
}
}
$object= new mysqlconnect();
echo $object->mysqlconnect();
?>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Yukarıda birinci örnekte verilen yazım standardı dünyada hemen hemen tüm dillerde Başta c++ ve Java + php dilinde nesne modeliylen beraber standart olarak kabul edilir ve bizim de kodlarımızı
bu çizgide yazmamız gerekir
kodlamada göze çarpan unsurlar sınıf değişken ve ya fonksiyonlar bir kelimeden fazlaysa başındaki karakterle ondan sonra gelen kelimedeki karakterler büyük harfle yazılmasıdır.
bu hemen hemen herkesin ortak konuştuğu bir dildir
Altaki İkinci Yazımsa Aynıdır fakat standartların dışındadır Aradaki farklar belli dir sanırım
ikiside aynı sonucu verir fakat biri standart lar dahilindedir diğeriyse dışındadır
bu konuyla ilgili su getirmez çok tartışmalar yaşanmıştır fakat her kes birinci kısımdaki yazım metodunu standart olarak kabul etmiştir
Geçelim ikinci konumuza
2.PLANLAMA
( Aslında Bu Alan başlı başına bir mühendislik alanıdır bu aşama yı iyi geçenler çok güzel sonuçlar alırlar )
Programlamada karşılaşılan en büyük sıkıntılar ve sorunlar iyi bir planlama yapılamadığından ötürü büyük zaman kaybı
ve derin hayal kırıklıklarıyla sonuçlanabilir parasal kayıplarda dahil
olayı çok basitleştirmemek gerekiyor
hatta bir ara meşhur bir laf vardı php bir öğleden sonra vakit ayrılarak öğrenilecek bir dildir diye
öğle değildir diye düşünüyorum en azından ben öyle düşünüyorum
bu konu kişi ve programcıya göre değişir biz konumuzdan sapmayalım planlamanın önemini ufak tefek şeyler de belki
anlamayabiliriz ama elimize komplex bir iş gelince başınıza gelecekleri düşünün farzedelim iyi bir iş aldınız teslim süreniz 3 ay bunun muhakkak bir haftasını
veritabanı ve kod yazım şemasının planlanmasına ayırmalısınız bu konu gerçektende hafife alınmayacak kadar önemlidir
yoksa başınıza geleceklerden kısaca bahsedeyim
bir örnek
Eğer Yaptığınız hatayı düzeltmeye çalıştığınızda Tüm Program olmasada belli bir kısmını yeniden yazmak zorunda kalabilirsiniz
: Bir e- ticaret sitesi yaptığımızı düşünelim
Bu sitedeki işlevlerden birisi gelen siparişlerin adrese teslim edilmesi işlemi
İşlevlerden bir kaçıysa malın satışı iadesi ve garanti işlemlerini takip edebilir olduğunu farzedelim
Sonucta bende bir müşteriyim beğendiğim bir bilgisayarı kişisel bilgilerimi girerek satın aldım
ve bilgisayar adresime teslim edildi
müşteri bilgileri bir tabloda tutuluyor ve sipariş alınırkenen sipariş tablosuna bu kişisel bilgiler ekleniyor
Alınan bilgiler sipariş tablosuna kaydedilir ve o siparişin bir id si oluşturuluyor
o siparişle ilgili tüm işlemler o sipariş numarasıyla takip ediliyor
tablonun özelliği en kısa anlamda şöyledir
(1-- Siparis ID)-- (2 Sipariş verilen Malın cinsi)---(3.sipariş veren adı)--- (4.sipariş verenin adres bilgisi)---(5.sipariş tarihi)--(-6.ödeme şekli)
verdiğim bilgisayar siparişi evime geldi ödememi yaptım bilgisayarımı teslim aldım
derkenen tayinim çıktı ankara ya gittim (hayat işte) bende müşteri bilgi sistemine girdim yer ve adres bilgilerini güncelledim
aradan bir süre geçti bilgisayarım arıza yaptı
bilgisayarımı kargoyla aldığım firmaya gönderdiğimde bigisayarın özelliklerini siparis id sini girrerek bakacakları malumdur orada benim adres ve kişisel bilgilerim
vardı sonra bilgisayarı o adrese gönderdiklerini bir olasılıkla göz önünde bulundurmanız lazım ne olurdu eski adresime gönderdiler ama benim yerim
değişti ben artık ankaradayım şimdi diyeceksiniz ki bir telefon açarsınız olay biter öyle değil bu garanti servislerinin öyle iş yoğunluğu vardırki siz yaptığınız
işlerde hatayı minumuna düşürmek zorundasınız bütün olasılıkları hesaplamak zorundasınız planlamanın önemi anlaşılmıştır umarım
onun için kişinin adres bilgilerini sipariş tablosunda bulundurmamanız lazım o bilgiler müşteri bilgileri tablosunda kalmalıydı
sipariş tablosuna sadece müşteri bilgi tablosundaki kayit id si eklenmeliydi eğer sorgu yapıldığında sipariş tablosunda bulunan müşteri id si güncellenmiş olduğundan
(1-- Siparis ID)-- (2 Sipariş verilen Malın cinsi(3.Müşteri bilgi ID si)---(5.sipariş tarihi)--(-6.ödeme şekli)
en güncel adres ve telefon bilgilerine ulaşmış olacaktık
bu yaklaşım doğru programlamadır planlama olasılıkları hesaplamak
üzerinden geçer buna çok dikkat etmelisiniz
başımızdan geçen bir olayı sizinle paylaşmak istiyorum
iki arkadaş bir iş aldık mağaza stok ve müşteri takip programı php mysql ile yapacaz
şubeleri olan bir mağaza olduğu için ve mağaza sahibinin internet ten sürekli mağazalarını takip etmek istemesi bu iş için php mysql biçilmiş kaftandı bizim için
neyse stok kısmı derken cari kısım derken sözleşme basımı kasa durumu taksitlendirmeler falan derkenen çalıştırmaya başladık
geldik bir yerde takıldık !!
aslında yorgunluktan olsa görek çözüm üretemiyoruz sorun şuydu
adam geldi televiyon aldı televizyon 100 lira kaç taksit diyoruz 10 taksit 100 lirayı 10 na bölüyor taksit günlerini belirliyor sözleşmeye yazıyor
ama adam gelipte bir taksidinin hepsini ödemeyince yani 10 lira yerine 9 lira verince program kontrolumuzden çıkıyordu yada gelip 3 aylık taksitleri bir den verince
gene aynı sorun
gerçek hayat işte :)))))
neyse planlamanın önemini biliyorduk ama çok kötü bir yerimizden vurmuştu bizi
sonunda onlarca kıyaslamanın sonunda -cözümü ürettik ama bizim için baya yorucu bir deneyim olmuştu çünkü yapının çoğunu hazırlamıştık
o da en az müdahalelerle sorunu halletmek ti çözüm hayat işte yaptıkça öğreniyorsun :))))
umarım faydalı olmuştur daha yazılacak çok şey var ama bizimde önümüzde yazmak için bol bol vaktimiz var