Me and my colleague are working on a new application that should replace as soon as possible an old VB6
/Access 97
application made years ago.This application has a lot of problems, adjusting them in the same environment is simply impossibile.
What we are trying to do is rewrite all the code in C#
and MySql
.
We're basically starting from scratch, the only things we can keep from the old project are some data that we already migrated from Access
to MySQL
My question is, since we've a restricted time and we're learning while coding (no past experience in C#) what are the things that we should consider to implement and what should we just avoid for now ?
The scope of the application here is not really important, just some reading and writing on the database.
This is what we're already doing in our small team of 2:
- Source Control -
Git
, we had no SC before - Bug tracking -
FogBugz
in our case, we moved on from Excel - Solution - We now have 1 solution with 3 Projects inside, in VB6 there was 5 different project. 5 different .exe for no real reason.
This is what we're not really sure is worth the time implements:
- Entity Framework - Seems good but there's a learning curve, as of right now we're going with
ADO.NET
,pretty straight forward. Planning on usingDapper
when possibile since it seems really fast and easy. Unit test - We've never done any unit test before, we started with
NUnit
but since our application is only writing and reading data from the database we're not really sure how implement it. Triedmoq
also with the same results. In this case we think our way to go is just have a dump of the database and just test that.WPF -
WPF
seems awesome but there is a learning curve here too. We started our project inWinForms
, our main gol now is to have a functional app as soon as possibile not a pretty one. This is also pretty big for the future of this application because for what I've understand going fromWinForms
toWPF
is a big step and need a lot of rewriting.Reports We have 100+ reports to recreate. They're all made in
CRXI
using a table likeReport1_Print
in the database with all the data repeated on all the rows. Awful. We've not tried anything yet but we're planning on usingVisual Studio Report designer
.Deploying 30-35 users are going to use it, as of right now we share the updated
.exe
of the vb6 app on our server and users download it with a.bat
. We're looking for something a little more fancy here...
With time in mind, what should be our main focus ? We're not really looking for the best way to do things, we're looking for the best way to get the job (a good job) done as soon as possibile. The focus here is on the users that as of right now can't work efficiently.