Sunday, May 14, 2006

 

Sanaa code review (05-11-2006 ) + Asp.Net 2.0 Site Maps and Navigation.

Sese seun@splasherstech.com handled code review for Sanaa and Tunde tunde@splasherstech.com handled geekify for same.

Code review was a quick post-motem (I know Stan hates that word) of Relius Sync. Sese did a good job introducing the project and explained his architecture and why he made certain decisions. He went on and stepped through the code to display actual implementation.

Then we butchered the codes, not really, we discussed some of his implementation rights and wrongs from different perspectives and known rights and wrongs, otherwise known as best practices.

Part of the observations, which we hope will be refactored too include but aren’t limited to:

The absence of XML documentations, especially for public methods. Seun felt all his methods are descriptive (SeunWillNowUpdateRowsBackToDatabase() ). We all agreed only his send mail method required no Xml comments. Devs also mentioned appropriate naming could make tools like GhostDoc generate descriptive Xml comments + VS 2005 gives warnings when public methods don’t carry XML comments.
The configuration settings are wrapped into a Settings created by developer. VS 2005 allows you to add a settings file with visual designer support. Could be re-inventing the wheel.
Some guys think the method names are unprofessional. DoSynchronise à Synchronize since synchronize is a verb. IsErrorOccured à ErrorOccured. Sanaa argues Is___ tells them immediately it’s a Boolean result expected, well, whatever.
average adherence to naming conventions, Pascal, underscore hybrid mix.
The versioning used for display was hard-ceded. This should be resident in AssemblyInfo.cs. A call like Application.Version would return the version and the version gets built into the assembly too.
Handling code logics in exception and nesting exception blocks are practices that should be discouraged. Nesting exceptions has negative impact on performance.
Some methods are really lengthy. We suggested 20 tops 25 lines per methods. Making codes more atomic makes it easy to read, gives smoother flow and becomes more maintainable etc.


The main geekify introduced the SiteMap features of ADO.Net 2.0 and menu controls. A short demo showed binding Xml sources to the tree view control and using site navigation controls. We hope to see posts on this on the team blog some blogs somewhere.

Great job Sanaa guys, Buchao! ®.



I hope I have spoken for all.

 

ADO.Net 2.0 (05-08-2006) Backlog

kehinde@splasherstech.com

The last geekify session was hosted by The Monks®. We explored a couple of features in ado.net 2.0 including the common object model, asynchronous command execution. We also took a brief look at the Promotable transactions, schema discovery APIs and dataset enhancements. Visit to read more on our coverage of the common object model with sample codes.

We adopted a number of new strategies including code reviews and a poll arrangement where a team presents “on demand”. Simply pit, a team might need to present based on demands to cover some necessary skill gaps. We recommend devs send stuff they’ll like to see so teams can prepare well ahead.

This Wednesday, Sanaa is up (Buchao!®). We shall be expecting a review project latest tomorrow and an intro to your presentation

 

Ope on Atlas 04-26-2006

Awrite here’s the intro…
ope@splasherstech.com>


PREAMBLE

Traditionally, if your web page contains links with which you activate some code on the server side, you page has to post back when that link is clicked so that the code can run and send updated HTML for the response page for the browser to display. This could be pretty annoying if you have a lot of little buttons everywhere on the page that don’t do much other than update a little part of the page. This is where AJAX comes in.



AJAX

AJAX stands for Asynchronous Javascript And XML. Lets leave the big English and say exactly what it is.

Point of History: The XMLHTTPObject was introduced into IE some times back (I don’t know what version J). With the XMLHTTPObject you can make the browser initiate an asynchronous request to the Server under the hood and obtain a stream of HTML as response which with some funky Javascript you can now insert in specific areas of the page. As far as the user is concerned the page did not post back. The XMLHTTPObject (or its variants) has since been included in other browsers.

So that’s what AJAX is. Most common examples are Gmail, MSN Maps, etc.



AJAX Frameworks

Most of us average web programmers are lousy client side programmers (J). All we want is our code on the server side to do what we want it to do. Knowing this, a number of people therefore try to provide some sort of framework for web developers to take advantage of AJAX in their web apps without having to write a lotta the client side script to tie things together. These frameworks spit out just the right Javascript you need to place your asynchronous requests on the client side and parse the results for placement in specific portions of the existing page. This way web developers can concentrate on writing their web apps the way they are used to and just follow their framework’s “how to” to AJAX enable their apps.



DotNet and AJAX.

For ASP.Net developers there are a number of AJAX frameworks to use to write AJAX enabled web apps. They follow different approaches to achieve the common goal. Some include AJAX.Net, MagicAjax, etc. Microsoft’s own implementation is codenamed “Atlas”. Currently under some sort of proof of concept development by the ASP.Net core team. The Alpha is not even out. What we have are just geek previews. The latest version I think is the March CTP.



How Atlas works

Atlas follows the simple approach in which you add a reference to the Atlas assembly to your application and you get a client script generator called a ScriptManager to handle your client side scripting which u can put on your page. This script manager handles the client side scripting together with the help of a number of other web controls (primary among them is the UpdatePanel) to take care of all the buhaha you need to make Ajax work for you.

Any portion of you page that you want to AJAX enable, all you have to do is place an updatePanel around it. And Voila it works! Well, not just like that, there’s a few things you need to do. But it’s all more declarative than code writing.

That’s basically how it works.

Scott Guthrie of the ASP.Net posted a “from scratch” video last week that shows an ASP.Net 2.0 site created and later AjAX enabled. I’ll try to reproduce what he did in that video in our next geekify session, to give us an appetite wetter so we can go off and try stuff on our own.



See ya there!



NB:

You will need a few things before then.

VS 2005 installed on your box.
Atlas installed on your box (\\moses\Shared\TEMP\Setup\Atlas (March CTP)\ AtlasSetup_MarchCTP.msi)
You may want to watch the video b4 then too (\\moses\Shared\TEMP\Setup\Atlas (March CTP)\ atlas_Scott_Guthrie_Killer_demo.wmv)


Buchao!!!(TM)

 

Whats Splashers Geekify

This is our equivalent of in-house training at Splashers Technologies. A developer gets to research or dig into a topic and presents it. The other part of this involves our lovely new innovation: code-review. we do what the name sugest.
I'm only making posts for the new dimension "geekify reloaded". There is no way I can dig info on the past geekify sessions.
It holds every wednesday. Currently we have 3 teams, The Monk(Software is a religion)© , Sanaa-Says software is art © and the Pivotal-G (at the center of it all) ©. It rotates among the teams and on the fourth week, a volunteer presents a topic on demand. This repeats if there is a 5th week in the month.

This page is powered by Blogger. Isn't yours?