473,758 Members | 5,909 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Best Practices

BK
We've got a fairly large scale development process under way in .NET
2003. We are about a month away from go-live for phase 1, second phase
is rather short and all work should be completed in the next 2 months.
Looking back on problems encountered, we want to learn from this
project. FWIW, we are nearly on time with the original time line (only
off by about a month), and we actually added more functionality than
the original specs called for.

In this application, we have several projects we created for simple,
reusable functionality (such as a dll that handles BLOB attachements, a
dll to handle user preferences, a dll to handle system messaging, etc.)
These projects are a mixture of VB and C#, with the output for all
being a dll that the application's exe calls. It has worked really
well for us and we expect that most of these dll's will be reused in
upcoming projects.

That being said, we did have some problems. We did this project mostly
with 2 developers. We did the project WITHOUT a source control program
(that was interesting) because management hasn't bouught in to source
control yet. (That has finally changed and we are testing SourceSafe).
The dlls were included in the main project as dll's rather than as a
project. I did this because I wanted to keep the solution pared down
but I'm not sure that was the best way to do it. Any thoughts? Any
comments on referencing a dll vs referencing a project in the solution?

Going forward we plan to use source control. We are testing Visual
SourceSafe, anyone want to add their 2 cents either for or against
this? Any suggestions on other products we may want to consider? We
will be converting to .NET 2005 soon, but the cost of Team Edition and
a dedicated Team Foundation Server is too pricey. It was suggested we
look at CVS and/or Subversion. I'm a little familiar with CVS and
wasn't that impressed with it. Anyone with experience with either of
them?

Sorry for the length of the post, but I wanted to provide as much
information as possible and I hope to start a healthy dialog with
anyone interested in sharing their experiences.

Thanks,

Will I Am

Apr 19 '06 #1
5 2531
VJ
Reference a DLL is the best and good idea. You are ok on that...

My thoughts on VSS..

1. It is a very good tool, works well for small to medium projects I mean
with upto 10 developers
2. VSS works well with situations of Single User checking out Single file...
Multiple Users checking out Single files.. I am not really sure
I have had bad experiences... I would avoid that with VSS, or not even
consider VSS, if that happens to often in the project
3. VSS is also tricky.. sometimes I have lost data keeping in it.. So you
will have to back the directories where the VSS is having the Data files
4. If I used VSS, I would also try to keep a hard back for a couple of
versions..

The real good practice that I found useful is to use regions in code... or
..CS or .VB files.. Very helpful and good practice..

VJ

"BK" <bk******@hotma il.com> wrote in message
news:11******** **************@ i39g2000cwa.goo glegroups.com.. .
We've got a fairly large scale development process under way in .NET
2003. We are about a month away from go-live for phase 1, second phase
is rather short and all work should be completed in the next 2 months.
Looking back on problems encountered, we want to learn from this
project. FWIW, we are nearly on time with the original time line (only
off by about a month), and we actually added more functionality than
the original specs called for.

In this application, we have several projects we created for simple,
reusable functionality (such as a dll that handles BLOB attachements, a
dll to handle user preferences, a dll to handle system messaging, etc.)
These projects are a mixture of VB and C#, with the output for all
being a dll that the application's exe calls. It has worked really
well for us and we expect that most of these dll's will be reused in
upcoming projects.

That being said, we did have some problems. We did this project mostly
with 2 developers. We did the project WITHOUT a source control program
(that was interesting) because management hasn't bouught in to source
control yet. (That has finally changed and we are testing SourceSafe).
The dlls were included in the main project as dll's rather than as a
project. I did this because I wanted to keep the solution pared down
but I'm not sure that was the best way to do it. Any thoughts? Any
comments on referencing a dll vs referencing a project in the solution?

Going forward we plan to use source control. We are testing Visual
SourceSafe, anyone want to add their 2 cents either for or against
this? Any suggestions on other products we may want to consider? We
will be converting to .NET 2005 soon, but the cost of Team Edition and
a dedicated Team Foundation Server is too pricey. It was suggested we
look at CVS and/or Subversion. I'm a little familiar with CVS and
wasn't that impressed with it. Anyone with experience with either of
them?

Sorry for the length of the post, but I wanted to provide as much
information as possible and I hope to start a healthy dialog with
anyone interested in sharing their experiences.

Thanks,

Will I Am

Apr 19 '06 #2
BK,

For assemblies that are used by many unrelated applications I use file
references. For assemblies that are only used by one application I add
the corresponding project to the solution and use project references.

A typical folder hierarchy for an application may look like the
following.

WizbangApplicat ion
WizbangApplicat ion
WizbangApplicat ion.DatabaseStu ff
WizbangApplicat ion.LoggingStuf f
WizbangApplicat ion.MathAlgorit hms
WizbangApplicat ion.Setup
Resources

In the above structure the main WizbangApplicat ion folder will contain
the .sln file and that's about it other than the subfolders. The
WizbangApplicat ion subfolder will contain the project that outputs the
exe. The other subfolders will contain the projects that output the
dlls or msi. The Resources subfolder contains all 3rd party dlls,
in-house dlls that aren't specific to the WizbangApplicat ion, image
files, or other resources that may need to be compiled into the
application, but are not specific to the application.

When you check things into your source code control provider make sure
it compiles. The most annoying thing to me when I transition to a new
project that's already in the works is getting the latest version of
the source code and spending 2 hours figuring out build orders, dll
dependencies, versioning issues, syntax errors, etc. If you get things
checked in correctly it should be a piece of cake to automate nightly
builds and unit tests.

I have a deep dislike for SourceSafe despite being forced to use it for
the last 7 years. CVS or Subversion are better IMO. But, it does the
job...most of the time :)

Brian
BK wrote:
We've got a fairly large scale development process under way in .NET
2003. We are about a month away from go-live for phase 1, second phase
is rather short and all work should be completed in the next 2 months.
Looking back on problems encountered, we want to learn from this
project. FWIW, we are nearly on time with the original time line (only
off by about a month), and we actually added more functionality than
the original specs called for.

In this application, we have several projects we created for simple,
reusable functionality (such as a dll that handles BLOB attachements, a
dll to handle user preferences, a dll to handle system messaging, etc.)
These projects are a mixture of VB and C#, with the output for all
being a dll that the application's exe calls. It has worked really
well for us and we expect that most of these dll's will be reused in
upcoming projects.

That being said, we did have some problems. We did this project mostly
with 2 developers. We did the project WITHOUT a source control program
(that was interesting) because management hasn't bouught in to source
control yet. (That has finally changed and we are testing SourceSafe).
The dlls were included in the main project as dll's rather than as a
project. I did this because I wanted to keep the solution pared down
but I'm not sure that was the best way to do it. Any thoughts? Any
comments on referencing a dll vs referencing a project in the solution?

Going forward we plan to use source control. We are testing Visual
SourceSafe, anyone want to add their 2 cents either for or against
this? Any suggestions on other products we may want to consider? We
will be converting to .NET 2005 soon, but the cost of Team Edition and
a dedicated Team Foundation Server is too pricey. It was suggested we
look at CVS and/or Subversion. I'm a little familiar with CVS and
wasn't that impressed with it. Anyone with experience with either of
them?

Sorry for the length of the post, but I wanted to provide as much
information as possible and I hope to start a healthy dialog with
anyone interested in sharing their experiences.

Thanks,

Will I Am


Apr 19 '06 #3
Hi,

About VS.NET and Source Code Control (SCC) integration, best practices and
so on, see this section of my web site:

http://www.mztools.com/resources_net_developers.htm#SCC
Resources about Visual Studio .NET and Source Code Control (SCC) integration

I wouldn´t recommend SourceSafe 6.0, it can cause corruption problems. Maybe
SourceSafe 2005 fixes that. TFS may be overkill for only two persons, so you
may also take a look at (I haven´t use them but they have good reputation):

- SourceVault (http://www.sourcegear.com/vault/index.html). It's free for 1
developer.
- Perforce (http://www.perforce.com/). It's free for up to 2 developers.

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
"BK" <bk******@hotma il.com> escribió en el mensaje
news:11******** **************@ i39g2000cwa.goo glegroups.com.. .
We've got a fairly large scale development process under way in .NET
2003. We are about a month away from go-live for phase 1, second phase
is rather short and all work should be completed in the next 2 months.
Looking back on problems encountered, we want to learn from this
project. FWIW, we are nearly on time with the original time line (only
off by about a month), and we actually added more functionality than
the original specs called for.

In this application, we have several projects we created for simple,
reusable functionality (such as a dll that handles BLOB attachements, a
dll to handle user preferences, a dll to handle system messaging, etc.)
These projects are a mixture of VB and C#, with the output for all
being a dll that the application's exe calls. It has worked really
well for us and we expect that most of these dll's will be reused in
upcoming projects.

That being said, we did have some problems. We did this project mostly
with 2 developers. We did the project WITHOUT a source control program
(that was interesting) because management hasn't bouught in to source
control yet. (That has finally changed and we are testing SourceSafe).
The dlls were included in the main project as dll's rather than as a
project. I did this because I wanted to keep the solution pared down
but I'm not sure that was the best way to do it. Any thoughts? Any
comments on referencing a dll vs referencing a project in the solution?

Going forward we plan to use source control. We are testing Visual
SourceSafe, anyone want to add their 2 cents either for or against
this? Any suggestions on other products we may want to consider? We
will be converting to .NET 2005 soon, but the cost of Team Edition and
a dedicated Team Foundation Server is too pricey. It was suggested we
look at CVS and/or Subversion. I'm a little familiar with CVS and
wasn't that impressed with it. Anyone with experience with either of
them?

Sorry for the length of the post, but I wanted to provide as much
information as possible and I hope to start a healthy dialog with
anyone interested in sharing their experiences.

Thanks,

Will I Am

Apr 20 '06 #4
BK
Thanks for your input.

Your directory structure is basically the same as what we use, but we
don't have a resource folder. I think that would resolve one of our
problems we have with keeping a uniform place for additional dll's we
use in a solution where we don't have the source code or don't need to
maintain the source code as part of the solution.

As for SourceSafe, more and more people are recommending we stay away
from it. I'm leaning toward SourceGear now. Does CVS have a GUI
interface into the administration side of it? I don't really care if
our SCC is integrated, it's not a big deal to check in and check out
code from a seperate window before/after working on the code. Is this
attitude going to get me in trouble down the road?

Bill

Apr 21 '06 #5
BK
Thanks for the input. We actually have more than 2 developers, there
are 20+ in the department, but about 8 of us work in .NET. I am
leaning toward SourceGear and plan to put a test in place soon for it.
Thanks for the links.

Bill

Apr 21 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1973
by: byrocat | last post by:
I'm chasing after a documetn that was available on one of the Microsoft websites that was titled somethign like "MS SQL Server Best Practices" and detailed a nyumber of best practices about securing the server. Included in this was revoking public access to the system table objects. Can someone post the URL where I can pick this up, or drop me a note on contacting them for a copy of the document?
136
9439
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their code was littered with document.all and eval, for example, and I wanted to create a practical list of best practices that they could easily put to use. The above URL is version 1.0 (draft) that resulted. IMO, it is not a replacement for the FAQ,...
13
2284
by: john doe | last post by:
A quick question, about so-called 'best practices', I'm interested in which of A/B of the two examples people would choose, and why. public enum MyEnum { Option1 = 0, Option2 = 1, Option3 = 2, Option4 = 3
2
1829
by: Amelyan | last post by:
Could anyone recommend a book (or a web site) that defines best practices in ASP.NET application development? E.g. 1) Precede your control id's with type of control btnSubmit, txtName, etc. 2) Group relevant .aspx files into subfolders within your project etc.
4
1844
by: Luis Esteban Valencia | last post by:
Hello. Can somebody recomend me books of design patterns in c# and best practices too.
10
3481
by: jojobar | last post by:
Hello, I am trying to use vs.net 2005 to migrate a project originally in vs.net 2003. I started with creation of a "web site", and then created folders for each component of the site. I read somewhere that each folder under the "web site" is compiled in separate assembly. I however, did not find that the "web site" creation in vs.net 2005 created any AssemblyInfo.cs file.
0
1715
by: Louis Aslett | last post by:
I hope this is the correct newsgroup for this query (if not please give me a pointer to where is best): I understand the theory of normalisation etc and am trying to follow best practices in the design of the database for a new project, but I am unsure as to the best practice when one wants to store data relating to combinations of arbitrary numbers of sets of data. For example, take the following two groups of sets, each containing...
4
2627
by: Collin Peters | last post by:
I have searched the Internet... but haven't found much relating to this. I am wondering on what the best practices are for migrating a developmemnt database to a release database. Here is the simplest example of my situation (real world would be more complex). Say you have two versions of your application. A release version and a development version. After a month of developing you are ready to release a new version. There have...
10
3003
by: Ren | last post by:
Hi All, I'm still rather new at vb.net and would like to know the proper way to access private varibables in a class. Do I access the variable directly or do I use the public property? public class MyClass private _variableName as integer public property VariableName as integer
1
1658
by: Pablo | last post by:
Hello all, Hope today finds you well. I'm looking to take my knowledge of best practices within the development lifecycle to the next level. Basically I want to follow industry recognised, Microsoft approved practices for every aspect of the lifecycle - so planning and architecture, team development, testing procedures, change control and bug-tracking, version control - etc etc. What software to use, which
0
9298
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10072
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9906
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9737
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7286
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6562
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5172
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5329
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3829
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.