<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hızlı Kod Yazmak arşivleri - Dinamik Network</title>
	<atom:link href="https://dinamiknetwork.com/e/hizli-kod-yazmak/feed/" rel="self" type="application/rss+xml" />
	<link>https://dinamiknetwork.com/e/hizli-kod-yazmak/</link>
	<description>Bilişim Dünyasına Profesyonel Yaklaşım</description>
	<lastBuildDate>Fri, 25 Aug 2023 13:31:56 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.12</generator>

<image>
	<url>https://dinamiknetwork.com/wp-content/uploads/2020/01/cropped-ikon-1-1-32x32.png</url>
	<title>Hızlı Kod Yazmak arşivleri - Dinamik Network</title>
	<link>https://dinamiknetwork.com/e/hizli-kod-yazmak/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Bir Yazılım Projesine Başlamak- Tavsiyeler #5</title>
		<link>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-5/</link>
					<comments>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-5/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Bükülmez]]></dc:creator>
		<pubDate>Fri, 27 Dec 2019 06:00:58 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Az Koda Çok İş Yaptırmak]]></category>
		<category><![CDATA[Basit Düşünmek]]></category>
		<category><![CDATA[Bir Yazılım Projesine Başlamak]]></category>
		<category><![CDATA[Hızlı Kod Yazmak]]></category>
		<category><![CDATA[Kod Yazım Şekli]]></category>
		<category><![CDATA[Kodlama Mantığı]]></category>
		<category><![CDATA[proje geliştirmede çevresel etkenler]]></category>
		<category><![CDATA[Projelerde Yetkilendirme Yöntemleri]]></category>
		<guid isPermaLink="false">https://dinamiknetwork.com/?p=994</guid>

					<description><![CDATA[<p>Bu yazı serisi işin bir alaylısı olarak, tecrübelerimden derlediğim bir yazılım projesine başlamak – dikkat edilmesi gerekenler  konusunun 5. yazısıdır.  Bu yazıda göreceğiniz şeylerin her&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-5/">Bir Yazılım Projesine Başlamak- Tavsiyeler #5</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Bu yazı serisi işin bir alaylısı olarak, tecrübelerimden derlediğim <strong>bir yazılım projesine başlamak – dikkat edilmesi gerekenler </strong> konusunun 5. yazısıdır.  Bu yazıda göreceğiniz şeylerin her hangi birini bir yerde bulmanızın imkansız olduğu düşünüyorum. Sayısız araştırmalar yaparak ve sayısız proje geliştirerek geçirdiğim, 5 yıldan fazla sürede elde ettiğim tüm püf noktaları paylaşıyor olacağım.</p>
<p>Önceki yazımda<a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/" target="_blank" rel="noopener noreferrer"><strong> Bir Yazılım Projesine Başlamak</strong>&#8211; Tavsiyeler #4</a>, <b>hızlı kod yazmak</b> hakkında da konuşmuştuk. Bu yazının sohbet konusu ise <strong>Projelerde Yetkilendirme Yöntemleri </strong>üzerine olacak. Bu yazım önceki yazılarım ile bağlantılı olacak ve onlardan bir çok referans içerecek.</p>
<p>&nbsp;</p>
<h2><strong>Bir Yazılım Projesine Başlamak- Tavsiyeler #5</strong></h2>
<p>Yetkilendirme konusu her zaman sıkıntılı bir süreç olmuştur benim için. Projeye uygun bir yetkilendirme yöntemi tasarlamak gerçekten zor oluyor. Ya tek bir yetkilendirme yöntemi geliştirip üretilen her projede kullanacağız ya da projeye özel yöntemle geliştireceğiz. Ancak küçük projelere aşırı detaycı yetkilendirme yöntemi geliştirmek mantıksız oluyor ve gereksiz iş yükü getiriyor. O halde bu yetkilendirme işlemlerini nasıl belirlemeliyiz?</p>
<p>Bu yazımın konusu da tam olarak bu soruya cevap vermeye odaklıdır. Aşağıda, her türlü projeniz için kullanabileceğiniz, esnek ve geliştirilebilir bir yöntem yer almaktadır.</p>
<p>Yetki Parametreleri yöntemini kullanmak için bir dosya (xml olabilir) yada veri tabanımızda bir tablo açmamız gereklidir. Bu tablo üzerinden kullanıcı bazlı yetkilendirmeler yapılabilir. Bu yöntemi sağlıklı bir şekilde kullanabilmek ve geliştirebilmek adına etraflıca düşünülmesi gerekmektedir.</p>
<h3><strong>Yöntemin Kodlanması</strong></h3>
<p>Bu bağlamda, Bu yazı serisinin birinci yazısı olan <strong><a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-1/" target="_blank" rel="noopener noreferrer">Kodlama Mantığı</a></strong> ve ikinci yazısı olan <a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-2/" target="_blank" rel="noopener noreferrer"><strong>Basit Düşünmek</strong> ve <strong>Proje Geliştirmede Çevresel Etkenler</strong></a> yazılarındaki konulara dikkat edilmesi gerekiyor.</p>
<p>Kodlama mantığı altında ilk olarak Proje Geliştirmede Çevresel Etkenler yer alıyor. Yani iş verenin ve kullanacıların neleri yapabilip neleri yapamaması gerektiğini belirlemeliyiz. Örneğin Satın Alma Departmanında çalışan bir kişi, stok tanımlarını, eldeki stokları ve maliyet ve satış fiyatlarını görebilir ama yeni stok tanımı yapamaz. Görebileceği stoklar sınırlıdır ve sadece MAMÜL olarak satılabilen stokları görebilir.</p>
<blockquote><p><strong>İPUCU</strong>: Fark ettiniz değil mi? Eğer bu noktada stokların kodlamasına bu bilgiyi eklersek sorgulamalar ne kadar kolaylaşacak. Stok kodlarında, <em>hammadde, yedek parça, yarı mamül, mamül</em> gibi ana grupların kodlarını verirsek satış departmanının, hangi stokları görmesi isteniyorsa stokların ilgili kodları üzerinden kolaylıkla yetkilendirme yapabiliriz.</p></blockquote>
<p>Düşünüldüğünde satış departmanının yedek parça stokları ile hiçbir alakası yok. O zaman neden kendisi ile alakası olmayan stokları da görmek istesin ki? Hem sadece kendisini ilgilendiren stokları görebilmesi hemde bu stoklardan ellerinde kaçar tane olduklarını görmesi gerekir.</p>
<p>Maliyet ve satış fiyatı konusunda ise satış departmanında çalışan her personelin maliyetleri bilmesini istemeyebiliriz. Sadece satış fiyatlarını görsün ve müşterisine o fiyatları söylesin. Müşteri eğer iskonto isterse amirine yönlendirsin. Stokların maliyetlerini de görebilen amir ise hem müşteriyi memnun edecek hemde şirketin zarar etmemesini sağlayacak kadar iskonto uygulayabilir.</p>
<p>Buraya kadar bahsettiğimiz senaryo üzerinden ilerleyelim.</p>
<p>&nbsp;</p>
<h4><strong>Nasıl bir yetki parametresi üretebiliriz?</strong></h4>
<p>Diyelim ki, yetkilendirme parametrelerinde, satış departmanı ana yetki grubu  10 olsun. 10 ile başlayan her yetki parametresi satış departmanı ile ilgili olacak. Şimdi kodlamamıza başlayabiliriz. Ben excel üzerinde örnek bir kodlama yaptım. Aşağıda görebilirsiniz.</p>
<p><img wpfc-lazyload-disable="true" loading="lazy" class="alignnone size-full wp-image-1006" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemler-1i.jpg" alt="Bir Yazılım Projesine Başlamak- Projelerde Yetkilendirme Yöntemler 1i" width="1072" height="313" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemler-1i.jpg 1072w, https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemler-1i-768x224.jpg 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemler-1i-850x248.jpg 850w" sizes="(max-width: 1072px) 100vw, 1072px" /></p>
<p>Burada bir kodlama mantığı kullanarak yetkilendirme yöntemi oluşturdum. Bu yöntem yukarıda gördüğünüz gibi çok detaylı bir yetkilendirme yöntemi gerektiren projeler için kullanılması mantıklı olabilir. <em>Eğer projemiz çok küçük ve detaylı yetkilendirme yöntemi gerekmiyor ise basitçe Yetki kodları 1&#8217;den başlayarak artan sayılar olabilir. </em></p>
<p>Yukarıdaki görseli incelediğimizde sırası ile tüm satış departmanı kullanıcılarına tek tek hangi tür stokları görebileceğini belirledik.  Sonrasında kayıt edilen siparişler üzerinde yapılabilecek işlemler hakkında yetkilendirme yaptık. Görselde görünen detaylar daha da detaylandırılabilir. Aşağıdaki görselde olduğu gibi&#8230;.</p>
<blockquote><p>NOT: Burada sadece stoklar üzerinden örnek verdim ama bu mantık Cariler de geçerli. Biliyorsunuz cariler 120 ve 320 olarak ayrılırlar. Başlıca bu carilerden hangi grubu görebileceğini yetkilendirebiliriz.</p></blockquote>
<p><img wpfc-lazyload-disable="true" loading="lazy" class="alignnone size-full wp-image-1009" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemleri-2.jpg" alt="" width="1056" height="184" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemleri-2.jpg 1056w, https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemleri-2-768x134.jpg 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-Projelerde-Yetkilendirme-Yöntemleri-2-850x148.jpg 850w" sizes="(max-width: 1056px) 100vw, 1056px" /></p>
<p>Kullanıcıya sadece kendi kayıtları ya da diğer kullanıcıların açtığı kayıtlar üzerinde de yetki verebiliriz.</p>
<blockquote><p>NOT: Bu detaylar ne kadar çok artar ise o kadar dikkatli olmaz gerekir. En ufak bir çakışma felakete yol açabilir. 🙂</p></blockquote>
<p>&nbsp;</p>
<h3><strong>Yöntemin Programlanması</strong></h3>
<p>Veri tabanımızda açtığımız Parametreler tablosunda bu kayıtları tutarak, kullanıcı formları gezerken ilgili parametreleri veri tabanından okuyarak yetkilendirmeleri yapmış oluruz. Örneğin kullanıcı Siparişler Listesi formunda geldiğinde kullanıcının yetkilerine göre formda kullandığınız butonları ve menüleri gizle/göster ya da aktif/pasif yaparak, kullanıcıyı yetkileri dahilinde yönlendirebilirsiniz.</p>
<p>Bu mantığı oturttuktan sonra yapılan ilk iş bir yetkilendirme formu olmalıdır. Yeni yetki ana ve alt grupları oluşturabilecek ve oturttuğunuz mantığa uygun olarak bir kaydetme, güncelleme ve silme yapabileceğiniz bir form. Bunu yaptıktan sonra da kullanıcının yetkilerini veritabanından okuyup formdaki ilgili işlemleri açıp kapatabilecek bir class oluşturmalısınız.</p>
<p>Son söylediklerim için ise bir yazılım projesine başlamak yazı serimin üçüncü yazısı olan<a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-3/" target="_blank" rel="noopener noreferrer"><strong> Kod Yazım Şekli</strong> ve <strong>Az Koda Çok İş Yaptırmak</strong></a> ile dördündü yazısı olan <strong><a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/" target="_blank" rel="noopener noreferrer">Hızlı Kod Yazmak</a></strong> yazılarındaki konulara dikkat edilmesi gerekiyor.</p>
<p>&nbsp;</p>
<hr />
<p>Evet arkadaşlar<strong> Bir Yazılım Projesine Başlamak </strong>&#8211; Tavsiyeler #5  yazımda bu kadar olsun. <strong>Projelerde Yetkilendirme Yöntemleri</strong> hakkında konuştuk. Aslında birden fazla yöntemden bahsedecektim ama aklımdaki diğer yöntemler teoriden ibaretti. Bu sebeple onları yazmaktan vazgeçtim. Yukarıda verdiğim mantık her proje türü için kullanılabilir.</p>
<p>Eğer ilginizi çekebildiysem o zaman takipte kalın. Yeni bir yazının ne zaman geleceği belli değil.</p>
<p>Yazılım konusunda daha fazla içerik için <a href="https://dinamiknetwork.com/k/yazilim/" target="_blank" rel="noopener noreferrer">tıklayabilirsiniz</a>.</p>
<p>&nbsp;</p>
<hr />
<p>Bana destek olmak isterseniz <strong><a href="https://www.buymeacoffee.com/mustafabukulmez" target="_blank" rel="noopener">bir kahve ısmarlayabilirsiniz</a></strong> veya <strong><a href="https://linktr.ee/mustafabukulmez" target="_blank" rel="noopener">diğer hesaplarımdan</a></strong> takip edebilirsiniz.</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-5/">Bir Yazılım Projesine Başlamak- Tavsiyeler #5</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bir Yazılım Projesine Başlamak- Tavsiyeler #4</title>
		<link>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/</link>
					<comments>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/#comments</comments>
		
		<dc:creator><![CDATA[Mustafa Bükülmez]]></dc:creator>
		<pubDate>Fri, 20 Dec 2019 06:00:22 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Bir Yazılım Projesine Başlamak]]></category>
		<category><![CDATA[C# User Control Nedir]]></category>
		<category><![CDATA[Code ToolBox]]></category>
		<category><![CDATA[Hızlı Kod Yazmak]]></category>
		<category><![CDATA[intelligence]]></category>
		<category><![CDATA[User Control]]></category>
		<category><![CDATA[Visual Studio Snippet Nedir?]]></category>
		<category><![CDATA[visual studio Snippets]]></category>
		<guid isPermaLink="false">https://dinamiknetwork.com/?p=896</guid>

					<description><![CDATA[<p>Bu yazım işin bir alaylısı olarak, tecrübelerimden derlediğim bir yazılım projesine başlamak – dikkat edilmesi gerekenler  konusunun 4. yazısıdır.  Bu yazıda göreceğiniz şeylerin her hangi&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/">Bir Yazılım Projesine Başlamak- Tavsiyeler #4</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Bu yazım işin bir alaylısı olarak, tecrübelerimden derlediğim <strong>bir yazılım projesine başlamak – dikkat edilmesi gerekenler </strong> konusunun 4. yazısıdır.  Bu yazıda göreceğiniz şeylerin her hangi birini bir yerde bulmanızın imkansız olduğu düşünüyorum. Sayısız araştırmalar yaparak ve sayısız proje geliştirerek geçirdiğim, 5 yıldan fazla sürede elde ettiğim tüm püf noktaları paylaşıyor olacağım.</p>
<p>Önceki yazımda<a href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-3/" target="_blank" rel="noopener noreferrer"><strong> Bir Yazılım Projesine Başlamak</strong>&#8211; Tavsiyeler #3</a>, <strong>kod yazım şekilleri</strong> ve <strong>az koda çok iş yaptırmak</strong> hakkında da konuşmuştuk. Bu yazının sohbet konusu ise <strong>Hızlı Kod Yazmak</strong>  üzerine olacak. Bu yazım önceki yazılarım ile bağlantılı olacak ve onlardan bir çok referans içerecek. Aslında önceki 3 yazım bu yazım için hazırlanmış oluyor.</p>
<p>&nbsp;</p>
<h2><strong>Bir Yazılım Projesine Başlamak- Tavsiyeler #4</strong></h2>
<h3><strong>Hızlı Kod Yazmak</strong></h3>
<p>Geldik işin zirvesi diyebileceğimiz yere. Bu yazım önceki yazıların kapsayıcısı olacak. Yani önceki 3 yazı olmadan bu yazı olmazdı.</p>
<p>Öncelikle kodlama mantığını öğrendik. Düzenli ve doğru bir kodlama mantığı ile güzel bir çözüm ürettik. Yazılımcılar olarak tabi bu kodlama mantığının canlı ortamda yürütebilecek şekilde programlanması gerekiyor. Zaten bizim için asıl olay bu. Öyle kodlar yazmalıyız ki projeyi kullanacak şirketteki çalışanlar, şirketlerine uygun kodlama mantığını projemizde uygulayabilsinler. Tamam biz mantığı öğrendik, tavsiye ettik ve kullanıldı ama yazdığımız program bu kodlama mantığını yürütebilecek mi?</p>
<p>Buradaki önceliğimiz öğrendiğimiz bu kodlama mantığını yürütebilecek yöntemleri yazmaktır / yazabilmektir. Öğrendiğimiz kodlama mantığını, öğrenmemiş olsaydık elbette gerekli yöntemleri yazamazdık.</p>
<p>Bu kodlama mantığını kolayca yazabilmemiz için gereken ilk şartı yerine getirdik. İkinci şart ise elbette Basit Düşünmek ve Çevresel Etkenleri Belirleyebilmektir. Bir yöntem yazmak zorundayız ama bunu ne kadar kompleks hale getirirsek o kadar zorlanacağız ve o kadar sıkıntı yaşayacağız. Çevresel Etkenlerden kastımızın da müşterilerimiz olduğunu zaten ikinci yazımdan biliyorsunuz. Bir mantık her şirket için geçerli olamaz. Elbette işin içinde keyfi durumlarda var.</p>
<p>Biz gruplama ayracını sadece nokta ( . ) olacak diye düşünebiliriz ama müşteri nokta ( . ) kullanmak istemeyebilir. <strong>&#8220;Arkadaşım bırak da onu biz seçelim.&#8221;</strong> deme ihtimalleri var.  Çevresel etkenleri denkleme ekledikten sonra olabildiğince basit düşünerek sonuca ulaşabiliriz. Burada kodlamalardaki ayraçları bile belirli tercihler içinden yapabilecekleri bir şekilde programlamak gerekecek.</p>
<p>Buraya kadar geldik. Her şeyimiz hazır. İş program kodlarını yazmaya geldiğinde üçüncü yazımı hatırlayalım. Az koda çok iş yapırmak&#8230; Öyle kodlar yazmalıyız ki hem olabildiğince kısa olsun hem de her türlü kodlama mantığını destekleyebilsin. Eh işte burası da sizin hayal gücünüze kalıyor.</p>
<p>İlk yazımız kodlama mantığı üzerine olduğu için senaryomuzda kodlama mantığı üzerinden ilerledi. Kodlama mantığını zaten çözdüğümüzü düşünelim ve diğer konulara geçelim artık.</p>
<h3></h3>
<p>&nbsp;</p>
<h3><strong>Tüm İmkanları Kullan!</strong></h3>
<p>Ben Visual Studio kullandığımdan dolayı anlatımlarım da onun üzerinden olacak. Visual Studio basit bir IDE değil. Bir çok özelliği var.</p>
<p>&nbsp;</p>
<h4><strong>User Control / Kullanıcı Denetimi (Nesnesi) Kullan!</strong></h4>
<p>Mesela üçüncü yazımda bahsettiğim <strong>User Control</strong> konusu&#8230; Gerçi başka IDE&#8217;lerde böyle bir şey var mı net olarak bilmiyorum ama tahmin ediyorum ki yok.  <strong>User Control</strong> konusu <strong>Hızlı Kod Yazmak</strong> için en önemli şeylerden birisidir. <strong>User Control</strong> &#8216;ü aktif şekilde kullanıyorsunuz varsayalım ve diğer konuya geçelim.</p>
<p><strong>User Control</strong> &#8216;leri sevin. Onu kullanın. O sizin en büyük yardımcılarınızdan birisidir.</p>
<p>&nbsp;</p>
<h4><strong>Code ToolBox / Kod Araç Kutusu (Kısayolu)  Kullan!</strong></h4>
<p>Yine üçüncü yazımda bundan bahsetmiştim. Kodları seçip toolbox&#8217;a atabiliyorsunuz. Kullanmak istediğinize ise çift tıklıyorsunuz yada sürükleyip istediğiniz yere bırakıyorsunuz. Tıpkı form nesnesi ekler gibi&#8230;</p>
<p>Düşünün&#8230;. Bir GridView nesnesini doldurmak, kolonlara biçimlendirme vermek, bazı kolonları gizleyip göstermek için kodlar yazdınız. Her seferinde bu kodları <em>&#8220;Daha önce nerde kullanmıştım yaaa?&#8221;</em> şeklinde form form gezerek aramak mı kolay yoksa toolbox&#8217;tan sürükleyip bırakmak mı?</p>
<p>Direk kendimden örnek vereyimm. Benim toolbox&#8217;umda 5 tane GridView güncelleme metodu var. Ben genelde forma aldığım nesnelerin hepsini mutlaka isimlendiririm ama girdview, groupbox gibi nesneleri isimlendirmiyorum. Bu yüzden toolbox&#8217;uma aldığım GridView güncelleme metodları birebir aynı, tek fark nesne isimleri. Bunlara Toolbox&#8217;ta verdiğim isimler (rename yapabiliyorsunuz) ve metodların isimleri GridUpdate1, GridUpdate2, GridUpdate3, GridUpdate4, GridUpdate5 şeklinde. Her metod 55 satır koddan oluşuyor ve  yaklaşık 45 kere nesne adı geçiyor. Neden sadece bir metod yapıp forma eklediğim ikinci grid için, GridUpdate1 metodunaki GridView1&#8217;leri GridView2 yapmak için uğraşıp zaman kaybedeyim. CTRL+H (bul ve değiştir) yapabilirim ama yine de zaman kaybı&#8230;</p>
<p>Şimdi burada <em>&#8220;Amma da büyüttün. Ne olacak sanki?&#8221;</em> diye düşünebilirsiniz. Bu normal. Çünkü bende en başta her seferinde uğraşıyordum. Neredeyse her formumda bir grid olduğunu düşünürsek her seferinde uğraşmak çok sinir bozucu oluyor. Hatta olursa bir forma 6 tane grid eklemem gerekirse toolbox&#8217;a GridUpdate6 metodu da eklenir. 😉 😀</p>
<ul>
<li>GridUpdate1 metodunun içindeki kodlar GridView1* nesnesini doldurup biçimlendiriyor.</li>
<li>GridUpdate2 metodunun içindeki kodlar GridView2* nesnesini doldurup biçimlendiriyor.</li>
<li>GridUpdate3 metodunun içindeki kodlar GridView3* nesnesini doldurup biçimlendiriyor.</li>
<li>GridUpdate4 metodunun içindeki kodlar GridView4* nesnesini doldurup biçimlendiriyor.</li>
<li>GridUpdate5 metodunun içindeki kodlar GridView5* nesnesini doldurup biçimlendiriyor.</li>
</ul>
<blockquote><p><strong>Bilgi</strong>: Ben projelerime DevExpress kullanıyorum. GridView nesnesi de DevExpress&#8217;e ait bir nesnedir. Her yazılımcının mutlaka incelemesini öneriririm.</p></blockquote>
<p>Kodlar için ayrılan toolbox&#8217;u kullanın. Onu sevin. O sizin en büyük yardımcılarınızdan birisidir.</p>
<p>&nbsp;</p>
<h4><strong>Snippets / Kod Parçacıklarını Kullan!</strong></h4>
<p><strong>Snippets nedir</strong> önce ona bakalım.</p>
<h5><strong>Visual Studio Snippet Nedir?</strong></h5>
<p>Kısaca, kısayol tuşlarının birleşimini kullanarak bir kod dosyasına eklenebilen yeniden kullanılabilir kod blokları diyebiliriz. Yani biraz farklı bir şekilde, ToolBox&#8217;a eklediğimiz kodlar gibi&#8230; Ancak bunları bir kısayol tuşuna bağlayabiliyoruz. Varsayılan olarak bir çok <strong>Snippets</strong> var.</p>
<p>Örnek</p>
<p><strong>Visual Studio</strong> &#8216;da bir kod sayfasında <strong>for</strong> yazıp <strong>TAB+TAB</strong> yaptığınızda For döngüsünü oluşturan kodları otomatik tamamlar. Aşağıdaki gibi.</p>
<pre class="prettyprint lang-csharp" data-start-line="1" data-visibility="visible" data-highlight="" data-caption="">// for yazdınız ve TAB + TAB yaptınız....
// geri kalan kısmını otomatik oluşturdu...


for (int i = 0; i &lt; length; i++)
{

}</pre>
<p>Yada foreach yazdınız <strong>TAB+TAB </strong>yaptınız. Aşağıdaki gibi otomatik getirdi. <em>(Aslında foreach yazmamıza bile gerek yok. Aşağıdaki görsele bakın.)</em></p>
<pre class="prettyprint lang-csharp" data-start-line="1" data-visibility="visible" data-highlight="" data-caption="">    foreach (var item in collection)
            {

            }</pre>
<p>Aşağıdaki görsele dikkat edin.</p>
<p><img wpfc-lazyload-disable="true" loading="lazy" class="alignnone size-full wp-image-899" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-.png" alt="Bir Yazılım Projesine Başlamak" width="849" height="274" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-.png 849w, https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak--768x248.png 768w" sizes="(max-width: 849px) 100vw, 849px" /></p>
<p>for yazdım ve <strong>intelligence</strong> bana zaten gösteriyor.</p>
<p><em>Malesef VS güncelleme yaptıktan sonra Türkçe oldu ve yoğunluğumdan düzeltme şansım olmadı. Ama aslında net olarak anlayabilmemiz için yani sadece bu görseli Türkçe olarak alabilmiş olmam tek güzel şey oldu. 😀  (sekme dediği TAB tuşu 😀 )</em></p>
<p>Mavi olarak seçili satırın en solundaki simgeye dikkat edin. O simge bir <strong>Snippets</strong> olduğunun göstergesidir.</p>
<p>Şimdi düşünürsek neden elle bir for döngüsü kodu yazmaya çalışayım? Neden bununla vakit kaybedeyim ki? Kaldı ki <strong>Visual Studio</strong> bana, bunun gibi kendime özel <strong>snippets</strong> uygulayabilme şansı da vermişken neden kullanmayayım?</p>
<p>Visual Studio&#8217;da bir dile ait tüm <strong>Snippet</strong> &#8216;leri görüntülemek için; <strong>Tools (Araçlar) &gt; Snippet Manager (Kod Parçacıkları Yöneticisi)  yada CTRL + K +B (Önce K sonra B)</strong> yapabilirsiniz.</p>
<p><img wpfc-lazyload-disable="true" loading="lazy" class="alignnone size-full wp-image-900" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/Bir-Yazılım-Projesine-Başlamak-2-1.jpg" alt="Bir Yazılım Projesine Başlamak" width="619" height="475" /></p>
<p><strong>Snippets</strong> &#8216;e (Kod Parçacıklarına) aşağıdaki yollardan erişebilirsiniz.</p>
<ul>
<li><span class="sxs-lookup"><span data-stu-id="69521-111">Menüden, <strong>Edit</strong> &gt; <strong>IntelliSense</strong> &gt; <strong>Insert Snippet</strong></span></span></li>
<li><span class="sxs-lookup"><span data-stu-id="69521-112">Kod sayfasın da sağ tık yapıp, <strong>Snippet</strong> &gt; <strong>Insert Snippet</strong></span></span></li>
<li><span class="sxs-lookup"><span data-stu-id="69521-113"><strong>Ctrl</strong>+<strong>K</strong>,<strong>Ctrl</strong>+<strong>X </strong>Kısayol tuşlarını kullanarak</span></span></li>
</ul>
<p><a href="https://docs.microsoft.com/tr-tr/visualstudio/ide/code-snippets?view=vs-2019" target="_blank" rel="noopener noreferrer">Buradan</a> daha fazla bilgi alabilirsiniz.</p>
<p>Var olanları düzenleyebilir, kendinize özel olarak ekleyebilirsiniz.</p>
<p><strong>Snippets</strong> &#8216;leri sevin. Onu kullanın. O sizin en büyük yardımcılarınızdan birisidir.</p>
<p>&nbsp;</p>
<h3><strong>Bir Yazılım Projesine Başlamak &#8211; Hızlı Kod Yazmak için Sonuç Olarak</strong></h3>
<p>Bir Yazılım Projesine Başlamak başlığı altında, çevresel etkenleri denkleme dahil ettik. Olabilecek varyasyonları ve gelecekte sorun olabilecek neredeyse her şeyi kullanıcılardan aldık. Olabildiğince basit düşünerek kağıt üzerine projenin taslağını hazırladık. Neyi nasıl yapacağımızı belirledik. Sonrasında kod yazım şekillerine değindik ve az koda nasıl çok iş hatta daha çok iş yaptırabiliriz gördük&#8230;</p>
<blockquote><p><em>Paldır küldür başladığınız bir projenizi düşünün&#8230; Bu bilgileri aldıktan sonra, o projenizi tekrar yazsaydınız tahminen ne kadar sürede yazardınız? Tahminen zamandan ne kadar kar ederdiniz? Tahminen ne kadar daha az sorun yaşardınız?&#8230; </em></p></blockquote>
<p>Bitti mi? Hayır&#8230; Daha bitmedi. Daha seriye eklenecek en az iki yazı daha var. Buraya kadar olanlar bizim için olmazsa olmaz şeylerdi. Her yazılımcının mutlaka bilmesi gerek diye düşündüğüm şeylerdi.</p>
<p>Bu yazıdan sonra proje içi kullanıcı yetkilendirme konusunda bakacağız ki bu konu her proje için geçerli olmuyor. Bazı projeler küçük çaplıdır ve basit bir mantık iş görür. Belkide yetkilendirme yapmanıza bile gerek yoktur. Daha kapsamlı projeler için de olmazsa olmazdır. Ama bu konu  önceki yazılar ile çok bağdaşık sayılmaz.</p>
<p>Son konumuz da öyle. Aslında yazı serisinden biraz bağımsız bir konu ama yine de her yazılımcının bilmesi gereken bir konu diye düşünüyorum. Sonuçta en basitinden C# bir derya deniz&#8230; Hiçbir Allah&#8217;ın kulu ben C# &#8216;ta uzmanım diyemez. Diyenlere itimat etmeyin.</p>
<blockquote><p><em>Ben C#&#8217;ta uzmanım = Ben  pasifik okyanusunun her metresinde yüzdüm, yüzebiliyorum. </em></p></blockquote>
<p>Mecazen değil. Direk olarak böyle bir şey&#8230;</p>
<p>&nbsp;</p>
<hr />
<p>Evet arkadaşlar<strong> Bir Yazılım Projesine Başlamak </strong>&#8211; Tavsiyeler #4  yazımda bu kadar olsun. Hızlı kod yazmak hakkında konuştuk.</p>
<p>Eğer ilginizi çekebildiysem o zaman takipte kalın. Yeni bir yazının ne zaman geleceği belli değil.</p>
<p>Yazılım konusunda daha fazla içerik için <a href="https://dinamiknetwork.com/k/yazilim/" target="_blank" rel="noopener noreferrer">tıklayabilirsiniz</a>.</p>
<p>&nbsp;</p>
<hr />
<p>Bana destek olmak isterseniz <strong><a href="https://www.buymeacoffee.com/mustafabukulmez" target="_blank" rel="noopener">bir kahve ısmarlayabilirsiniz</a></strong> veya <strong><a href="https://linktr.ee/mustafabukulmez" target="_blank" rel="noopener">diğer hesaplarımdan</a></strong> takip edebilirsiniz.</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/">Bir Yazılım Projesine Başlamak- Tavsiyeler #4</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dinamiknetwork.com/bir-yazilim-projesine-baslamak-tavsiyeler-4/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
