<?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>Ivara blogs : Atkļūdošana</title><link>http://dotnet.lv/blogs/ia/archive/tags/Atk_3C016B01_do_6101_ana/default.aspx</link><description>Tagi: Atkļūdošana</description><dc:language /><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Piektdienas krikumi</title><link>http://dotnet.lv/blogs/ia/archive/2008/11/14/piektdienas-krikumi.aspx</link><pubDate>Fri, 14 Nov 2008 09:26:09 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:2018</guid><dc:creator>ivars.arins</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/rsscomments.aspx?PostID=2018</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/commentapi.aspx?PostID=2018</wfw:comment><comments>http://dotnet.lv/blogs/ia/archive/2008/11/14/piektdienas-krikumi.aspx#comments</comments><description>&lt;p&gt;Lai piektdienas dienā pārāk nesaspringtu ar visādām gudrām lietām, pastāstīšu par dažādām ar .NET platformu saistītām lietām, par kurām diez vai izdosies uzrakstīt garākus aprakstus.&lt;/p&gt; &lt;p&gt;Vakar no &lt;a href="http://dotnet.lv/blogs/ia/archive/2008/11/13/pdc-videomateri-li.aspx"&gt;PDC videomateriāliem&lt;/a&gt;, noskatījos Džefa Kinga &amp;quot;&lt;a href="http://channel9.msdn.com/pdc2008/TL48/"&gt;TL48 Microsoft Visual Studio: Web Development Futures&lt;/a&gt;&amp;quot; un sapratu, ka jau ar nepacietību gaidu, kad varēšu ikdienā izstrādāt izmantojot Visual Studio 2010. Iemesls? Jau kopš 2005 studijas laikiem gaidu, kad HTML redaktorā tiks atbalstīti&amp;quot;snippets&amp;quot;. 2010 versijā tie ne tikai ir atbalstīti, bet jau &amp;quot;out-of-the-box&amp;quot; nāks vairāki simti šo &amp;quot;snippets&amp;quot;, kas ļaus daudz ātrāk izstrādāt web lappušu dizainu (šim bija vienkārši graujoša demonstrācija). Ja godīgi, tad priekš šis jaunums aizēnoja visus pārējos (uzlabots Javascript Intellisense mehānisms, labāks CSS atbalsts dizainerī, atvieglots &amp;quot;deployment&amp;quot; process).&lt;/p&gt; &lt;p&gt;Vēl pamanīju, ka klusi, klusi ir iznākusi jauna &lt;a href="http://creators.xna.com/en-us/xnags_islive"&gt;versija&lt;/a&gt; XNA Game Studio. Tiem, kas nezin, varu pastāstīt, ka XNA ir platforma, kas ļauj izstrādāt spēles, kas darbojās uz Windows, XBOX 360&amp;nbsp; un Zune platformām. Savukārt Game Studio ir&amp;nbsp; Visual studio papildinājums, kuru var lietot arī ar &lt;a href="http://www.microsoft.com/express/"&gt;Visual C# 2008 Express Edition&lt;/a&gt;. Vienmēr esmu gribējis uzprogrammēt kādu spēli, kā arī sīkāk pastāstīt par XNA platformas iespējam, bet izskatās, ka tuvākajā laikā nesanāks :(&lt;/p&gt; &lt;p&gt;Atskatoties uz C# 4.0 jaunajām iespējām, kā arī uz to, kā C# ir attīstījies 2.0 un 3.0 versijās, man ir radusies teorija, par to, kur evolūcijas gaitā nonāks C#. Manuprāt, tas evolucionēs uz valodu, kas būs līdzīga vienai no esošajām valodām, t.i Javascript. Kā piemēru varu minēt, &lt;a href="http://dotnet.lv/blogs/vi/archive/2008/05/29/papla-in-juma-metodes.aspx"&gt;paplašinājuma metodes&lt;/a&gt; (Extension Methods), ko varētu uzskatīt par &lt;a href="http://en.wikipedia.org/wiki/Prototype-based_programming"&gt;prototipa mantošanas&lt;/a&gt; simulāciju klašu mantošanas valodā. Ok, mans viedoklis ir ļoti subjektīvs, jo, par spīti, ka es to ne pārāk labi protu pielietot, man ļoti patīk Javascript valoda.&lt;/p&gt; &lt;p&gt;Savukārt, tiem, kuriem vēl nākas strādāt ar DataSetiem un saprast, kas ir par iemeslu baismajai &lt;a href="http://msdn.microsoft.com/en-us/library/4d40xefa.aspx"&gt;ConstraintException&lt;/a&gt;, varu ieteikt izlasīt šo nelielo &lt;a href="http://dotnetdebug.net/2006/07/16/constraintexception-a-helpful-tip/"&gt;padomu&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Un neaizmirstiet labi atpūsties garajās brīvdienās!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=2018" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/ia/archive/tags/Visual+Studio+Express+Editions/default.aspx">Visual Studio Express Editions</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/Atk_3C016B01_do_6101_ana/default.aspx">Atkļūdošana</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/PDC/default.aspx">PDC</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/viskas/default.aspx">viskas</category></item><item><title>Vienkāršs atkļūdošanas palīgs</title><link>http://dotnet.lv/blogs/ia/archive/2008/11/05/vienk-r-s-atk-do-anas-pal-gs.aspx</link><pubDate>Wed, 05 Nov 2008 07:43:30 GMT</pubDate><guid isPermaLink="false">245d81fd-b543-41d7-a051-d8603c6e9e31:1946</guid><dc:creator>ivars.arins</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/rsscomments.aspx?PostID=1946</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnet.lv/blogs/ia/commentapi.aspx?PostID=1946</wfw:comment><comments>http://dotnet.lv/blogs/ia/archive/2008/11/05/vienk-r-s-atk-do-anas-pal-gs.aspx#comments</comments><description>&lt;p&gt;Bieži vien, atkļūdojot kādu koda fragmentu mēs vēlamies ātri identificēt objekta instanci un redzēt tās nozīmīgākos datus. Lai to redzētu uzraudzīto objektu (&amp;quot;Watch&amp;quot;) logā, bieži nākas &amp;quot;uzraudzīt&amp;quot; vairākas viena objekta īpašības. Ja apskatām personas klasi, kas sastāv no vārda, uzvārda un personas koda, &lt;/p&gt;&lt;pre style="background:#10100d;" class="code"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;class &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Person
    &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FirstName &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;LastName &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Code &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }
    }&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;tad tas varētu izskatīties apmēram šādi:&lt;/p&gt;
&lt;p&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" border="0" alt="debuging_1" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ia/debuging_5F00_1_5F00_1a0af22e_2D00_3963_2D00_4677_2D00_91d0_2D00_93b2cce16728.png" width="460" height="143" /&gt; &lt;/p&gt;
&lt;p&gt;Neērti, un pie sarežģītākas objektu struktūras paliek vēl neērtāk. Dzīvi (vismaz atkļūdošanu) var padarīt ērtāku, ja objektam pārraksta &lt;code&gt;ToString()&lt;/code&gt; metodi, lai tā atgrieztu svarīgāko objekta informācija teksta formā. T.i. šajā gadījumā papildinot &lt;code&gt;Person&lt;/code&gt; klasi ar &lt;code&gt;ToString()&lt;/code&gt; metodi&lt;/p&gt;&lt;pre style="background:#10100d;" class="code"&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;    &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;class &lt;/span&gt;&lt;span style="background:#10100d;color:#009b00;"&gt;Person
    &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FirstName &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;LastName &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }
        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Code &lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;{ &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;get&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;set&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;; }

        &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;public string &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;ToString&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;()
        {
            &lt;/span&gt;&lt;span style="background:#10100d;color:#d6d694;"&gt;return &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;FirstName &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;+ &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot; &amp;quot; &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;+ &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;LastName &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;+ &lt;/span&gt;&lt;span style="background:#10100d;color:#44b1e3;"&gt;&amp;quot;, &amp;quot; &lt;/span&gt;&lt;span style="background:#10100d;color:#80ff00;"&gt;+ &lt;/span&gt;&lt;span style="background:#10100d;color:#e8e8e8;"&gt;Code&lt;/span&gt;&lt;span style="background:#10100d;color:#a79a86;"&gt;;
        }
    }&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Atkļūdošanā var redzēt svarīgo informāciju jau tajā rindā, kurā ir izvēlētais objekts:&lt;/p&gt;
&lt;p&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" border="0" alt="debuging_2" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ia/debuging_5F00_2_5F00_d7d72f96_2D00_13a9_2D00_4017_2D00_83f7_2D00_a6d45921e9f1.png" width="524" height="149" /&gt; &lt;/p&gt;
&lt;p&gt;Ja šeit šī iespēja varētu arī nelikties tik iespaidīga, tad īpaši dzīvi tā atvieglo Visual Studio atkļūdošanas režīma konteksta izvēlnē. Salīdziniet paši:&lt;/p&gt;
&lt;p&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" border="0" alt="debuging_4" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ia/debuging_5F00_4_5F00_4f2f143f_2D00_f510_2D00_4ad8_2D00_952c_2D00_b0e9f40a664c.png" width="493" height="100" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" border="0" alt="debuging_3" src="http://dotnet.lv/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ia/debuging_5F00_3_5F00_465edaf7_2D00_8bfc_2D00_47c8_2D00_8a95_2D00_75ecbbd28ffe.png" width="583" height="79" /&gt; &lt;/p&gt;
&lt;p&gt;Veiksmīgu atkļūdošanu!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnet.lv/aggbug.aspx?PostID=1946" width="1" height="1"&gt;</description><category domain="http://dotnet.lv/blogs/ia/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/code/default.aspx">code</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/Atk_3C016B01_do_6101_ana/default.aspx">Atkļūdošana</category><category domain="http://dotnet.lv/blogs/ia/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item></channel></rss>