473,395 Members | 1,437 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

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 2510
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******@hotmail.com> wrote in message
news:11**********************@i39g2000cwa.googlegr oups.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.

WizbangApplication
WizbangApplication
WizbangApplication.DatabaseStuff
WizbangApplication.LoggingStuff
WizbangApplication.MathAlgorithms
WizbangApplication.Setup
Resources

In the above structure the main WizbangApplication folder will contain
the .sln file and that's about it other than the subfolders. The
WizbangApplication 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 WizbangApplication, 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******@hotmail.com> escribió en el mensaje
news:11**********************@i39g2000cwa.googlegr oups.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
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...
136
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...
13
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
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)...
4
by: Luis Esteban Valencia | last post by:
Hello. Can somebody recomend me books of design patterns in c# and best practices too.
10
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...
0
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...
4
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...
10
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? ...
1
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,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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...
0
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,...
0
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...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

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.