<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnet.lv/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Andrejs Mamontovs : .NET3.5 SP 1, CSharp, .NET3.5, Generic</title><link>http://dotnet.lv/blogs/am/archive/tags/.NET3.5+SP+1/CSharp/.NET3.5/Generic/default.aspx</link><description>Tagi: .NET3.5 SP 1, CSharp, .NET3.5, Generic</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Code complete (Izstrādātāja ikdiena).</title><link>http://dotnet.lv/blogs/am/archive/2008/11/04/code-complete-izstr-d-t-ja-ikdiena.aspx</link><pubDate>Tue, 04 Nov 2008 21:12:16 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:1943</guid><dc:creator>andrejs.mamontovs</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/rsscomments.aspx?PostID=1943</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/am/commentapi.aspx?PostID=1943</wfw:comment><comments>http://dotnet.lv/blogs/am/archive/2008/11/04/code-complete-izstr-d-t-ja-ikdiena.aspx#comments</comments><description>&lt;p&gt;&lt;font face="cali" size="3"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Labdien,&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Apmulsu ar kādiem tempiem sāk pildīties mūsu zināšanas bāze. Nav vēlmes palikt malā:)&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Tiecoties uz perfektu kodu, šoreiz par vienu interesantu vadlīniju. Reāls uzdevums no dzīves. &lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;· Tiek padota simbolu kopa (String)&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;· Jāpārbauda vai simbolu kopa satur tikai burtus.&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Prātā nāk vismaz divas realizācijas. &lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;· Izmantot regulārās izteiksmes. Ja tās jūs pārzināt, tas neaizņems daudz laika. Bet kods ir jāraksta, pastāv arī kļūdas iespēja;&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;· Uzrakstīt ciklu. Apskatam katru simbolu uz atbilstību atļautiem simboliem. Šinī gadījumā visticamāk jūsu kods būs jāatkļūdo un jāuztur;&lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Bet vai pastāv arī alternatīvāki varianti, ar domu maksimāli koncentrētos uz pārbaudes nosacījuma! Šeit var palīdzēt jaunā &lt;i&gt;All&lt;/i&gt; paplašinošā metode &lt;i&gt;System.Linq&lt;/i&gt; vardu telpā. Kas ir domāta objektiem, kas manto &lt;i&gt;IEnumerable&lt;/i&gt; interfeisu. &lt;/font&gt; &lt;p&gt;&lt;font face="cali" size="3"&gt;Tātad varam uzrakstīs šādu te kodu, tas atbilst mūsu uzdevumam. Kods ir maksimāli īss, un šeit ir pavisam niecīga iespēja kļūdīties.&lt;/font&gt;&lt;pre class="code"&gt;&lt;font face="cali"&gt;&lt;font size="3"&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;using &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;System&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Linq&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;&lt;font face="cali"&gt;&lt;font size="3"&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;...
&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;var s &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;ABC&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="cali"&gt;&lt;font size="3"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;
&lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;var &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;result &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;s&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;All&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="background:#10100d;color:#2b91af;"&gt;Char&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;IsLetter&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;&lt;font face="cali" size="3"&gt;);
&lt;/font&gt;&lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;&lt;font face="cali" size="3"&gt;...
&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;&lt;font face="cali" size="3"&gt;Veicu veiktspējas testus, stipri neatpaliek no varianta, kad tiek rakstīts savs cikls, bet noteikti ir ātrāks par regulārām izteiksmēm.&lt;/font&gt;
&lt;p&gt;&lt;font face="cali" size="3"&gt;Cerams, noderēs.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=1943" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/am/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Collections/default.aspx">Collections</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Generic/default.aspx">Generic</category><category domain="http://dotnet.lv/blogs/am/archive/tags/OOP/default.aspx">OOP</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Arhitekt_6B01_ra/default.aspx">Arhitektūra</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5/default.aspx">.NET3.5</category><category domain="http://dotnet.lv/blogs/am/archive/tags/.NET3.5+SP+1/default.aspx">.NET3.5 SP 1</category><category domain="http://dotnet.lv/blogs/am/archive/tags/Linq/default.aspx">Linq</category></item></channel></rss>