Archive for June, 2007

Guidelines: For better Software Development

back to content  Main principles: >> Coding for Humans Design for the user scenarios Test Driven Development Continuous Integration Agile methodology Team code review Unit Tests: Four kinds of tests: unit, system, integration, acceptance Automate your test as much as possible on the dev-environment All UI development should follow the MPV pattern for ease of […]



back to content INFO:  SQL Server starts with row-level locks, but often escalates these to page and table locks, causing deadlocks >>.  new If the physical or logical RID contained in the non-clustered index records needs to change then all the non-clustered indexes need to be rebuilt in case of table structure change . >> […]


.NET Tips: WorkFlow

back to content INFO: Existed v1 version doesn”t support de-serialization of activities which were added dynamically to the existed static activity. >> All actions in WF go through a queue and waits for the background thread to dequeue it and do it. Unfortunately, the queue is only processed in between activities executing. So, if you […]


.NET Tips: WCF

back to content GENERAL: In a typical Enterprise system only 1 percent of all clients make concurrent calls (a high-load Enterprise system has 3 percent of concurrent calls). If your system can concurrently sustain only 100 expensive service instances, this means it can typically serve as many as 10,000 outstanding clients INFO:  The type visibility […]


.NET Tips: Perfomance

back to content INFO: There is very small performance difference in reversing array between Array.Reverse and changing values manually (although several manuals declare than Array.Reverse is two times slower). Such rumors relates to foreach vs for for iterating – there is no difference too. ·       Members of BCL generic collection are non virtual due to […]



back to content INFO:   IIS6 application pools are configured to recycle after 1740 minutes. Configure the application pool to recycle at a specific (quiet) time of day. >> HttpRuntime.CodegenDir retrieves the path to the sub-folder where the temp files of a given application are located. >>  Application pages are compiled in batch mode into the […]


.NET Tips: Threads

back to content INFO: ·       One of the registers stored in the TLS is a program counter that tells the thread which instruction to execute next.   ·       int is atom if align was not changed, but Interlocked.Increment() is not.   ·       Thread.Suspend is deprecated, because it suspends the hardware thread, at whatever position it […]


.NET Tips & Tricks: Common

back to content   This section describes the common .NET tips which don”t relates to the specific category.   INFO: const is “baked” into the assembly. If you have to change the const value in one of your dependent assemblies you need to recompile your dependent assemblies. To avoid this consider using readonly field, because […]


.NET Tips: CLR

back to content INFO: “COM Descriptor Directory” part of the PE is responsible whether executable file is a managed application (contain not zero address) or not. In case of the COM interoperability default CLR version is loaded (no selecting of the CLR version from the assembly that was used in building). GC gen0 threshold depends […]

Comments (1)

.NET Tips & Tricks

Current publication is based on the collection of several .NET “tips and tricks” and guidelines, which were written by me; are gathered from books, magazines, forums, newsgroups and etc; things, which sometimes were published incorrectly or incompletely. On the current moment there are 170 published item. The idea to start this article relates to the […]

Comments (2)