Jump to content

Best Programming Practice


child

Recommended Posts

My question is:
In Summary:
  • What is the best practice to make a software... from stretch to finish product?
In detail:
1- Where/How I draw the my thoughts...?

Means, I am thinking about a software, its design, its layouts, its working pattern,

about its users,

I want to make a rough video about its working, makes rough images about its layout etc.

2- How do I write helping documents for future reference...?

3- How do I make help file for end user...?

4- How do I save different versions coding...?

5- Which one is better

1- Single exe program, or

2- Multiple exe/dll/configuration files

6- I only know SQLlite for saving records (server less), is there some other option available .....?

For example

some temporary data in a file,

make cache for fast access,

generate on fly thumbnail,

random calculation

Note: I am start working in C#

------------------------------------
This time I am sure I am posting my question in correct place...
but if it was wrong please moved it... (at least inform me the correct thread)...
Link to comment
Share on other sites


  • Replies 20
  • Views 2.9k
  • Created
  • Last Reply

Top Posters In This Topic

  • child

    10

  • AlexCross

    4

  • pr3y

    4

  • geeteam

    1

Top Posters In This Topic

The hart of a program is done in C/C++/Java most of the time, for example Solaris is done in C. So you should start from here.

To learn C++ you need to start with C because C++ is an evoluted C if I can say that.

Link to comment
Share on other sites


Well there are so many ways to do that, am gonna recommend some website for you that you can check them out. codeproject.com, github.com, sourceforge.net and more.

Link to comment
Share on other sites


1- Where/How I draw the my thoughts...?

Means, I am thinking about a software, its design, its layouts, its working pattern,

about its users,

I want to make a rough video about its working, makes rough images about its layout etc.

I don't think that stage of software developing has essential importance . I mean for simple software creation you can draw ideas and planing steps on normal papers or any simple drawing software but if you want to be professional programmer ,you should learn about UMLs concepts (I personally use

Visual Paradigm for UML (www.visual-paradigm.com/product/vpuml/)

2- How do I write helping documents for future reference...?

What do you mean exactly ?

3- How do I make help file for end user...?

You can build online web-based help or you can simply put simple html help pages with your software ..

most used way to build offline help is using chm file builder software like :HTML Help Workshop

(I prefer using HelpNDoc ^_^ )

4- How do I save different versions coding...?

Do you mean , how to export a software to different OS platforms ?

5- Which one is better

1- Single exe program, or

2- Multiple exe/dll/configuration files

Simply , Single executable file method for simply/tiny software and for some other purposes ..

Multiple EXEs or exe with other external resources : is almost the more used method for creating any software . :)

6- I only know SQLlite for saving records (server less), is there some other option available .....?

For example

some temporary data in a file,

make cache for fast access,

generate on fly thumbnail,

random calculation

SQLite is good and easy to learn :)

There are many simple ways/method for saving software data like :simple file system stream , xml ,config files ...)

I don't really know much about making caches , thumbnails .. :lol:

Edited by Cyberboom
Link to comment
Share on other sites


1- Where/How I draw the my thoughts...?

You need to do some planning on paper. Ask the client/stakeholders the requirements of the software especially the functional and non-functional requirements. Once you have the basic idea you can draw some UML diagrams.

This guy explain the idea well https://www.youtube.com/playlist?list=PLGLfVvz_LVvS5P7khyR4xDp7T9lCk9PgE

I would recommend watch the above videos if you're serious about programming. (Especially useful when working on large complex projects)

Also always follow some agile practices.

2- How do I write helping documents for future reference...?

Depend what language you're using. In java you can simple create javadocs for the classes, methods....

Most object oriented languages have some way to provide documentation, i been using Doxygen to create them and it also support C#.

4- How do I save different versions coding...?

Best way is to use some sort of version control like Git.

6- I only know SQLlite for saving records (server less), is there some other option available .....?

Depend on what you are really after. You can take the SQL approach and use something like SQLite or use a NoSQL databases like MongoDB which is scalable.

Again it depend on your requirements whether you need the features of relational databases or not.

Link to comment
Share on other sites


@Cyberroom


@F3dupsk1Nup



Thats the things I want to know.......




Coding the program is somethings else .... but you should know your tools


better tools....better result is less effort




Please guide some better UML program

Link to comment
Share on other sites


Thenewboston is ok, but only for beginners, I watched his MySQL "lessons", and it covers just ~50 pages of my MySQL book that has ~800 pages.

Link to comment
Share on other sites


6- I only know SQLlite for saving records (server less), is there some other option available .....?

Depend on what you are really after. You can take the SQL approach and use something like SQLite or use a NoSQL databases like MongoDB which is scalable.

Again it depend on your requirements whether you need the features of relational databases or not.

Once I use only .txt file... :)

Link to comment
Share on other sites


1- Where/How I draw the my thoughts...?

You need to do some planning on paper. Ask the client/stakeholders the requirements of the software especially the functional and non-functional requirements. Once you have the basic idea you can draw some UML diagrams.

This guy explain the idea well https://www.youtube.com/playlist?list=PLGLfVvz_LVvS5P7khyR4xDp7T9lCk9PgE

I would recommend watch the above videos if you're serious about programming. (Especially useful when working on large complex projects)

Also always follow some agile practices.

I will download these videos on Monday....

What does your mean "agile Practices"

Link to comment
Share on other sites


1- Where/How I draw the my thoughts...?

Means, I am thinking about a software, its design, its layouts, its working pattern,

about its users,

I want to make a rough video about its working, makes rough images about its layout etc.

I don't think that stage of software developing has essential importance . I mean for simple software creation you can draw ideas and planing steps on normal papers or any simple drawing software but if you want to be professional programmer ,you should learn about UMLs concepts (I personally use

Visual Paradigm for UML (www.visual-paradigm.com/product/vpuml/)

1- Where/How I draw the my thoughts...?

You need to do some planning on paper. Ask the client/stakeholders the requirements of the software especially the functional and non-functional requirements. Once you have the basic idea you can draw some UML diagrams.

This guy explain the idea well https://www.youtube.com/playlist?list=PLGLfVvz_LVvS5P7khyR4xDp7T9lCk9PgE

I would recommend watch the above videos if you're serious about programming. (Especially useful when working on large complex projects)

Also always follow some agile practices.

I have experience to use visio and smartdraw.... What would you prefer other than these software which are commercial and enough for future OS. I didn't find medicine for "Visual Paradigm for UML 11 enterprise/Professional edition"

I have just googled many result found like starUML, Astah, Modelio, UMLGraph, Enterprise Architect UML and really can't decide to start which one...!!! :angry:

@Pr3y what does your mean about "agile practice"

Link to comment
Share on other sites


3- How do I make help file for end user...?

You can build online web-based help or you can simply put simple html help pages with your software ..

most used way to build offline help is using chm file builder software like :HTML Help Workshop

(I prefer using HelpNDoc ^_^ )

I have Help & Manual Professional/Server edition plus premium Pack but din't find HelpNDoc Professional Edition with medicine.... :angry:

5- Which one is better

1- Single exe program, or

2- Multiple exe/dll/configuration files

Simply , Single executable file method for simply/tiny software and for some other purposes ..

Multiple EXEs or exe with other external resources : is almost the more used method for creating any software . :)

Now I am planning to first start single exe (main program) and later add more exes as additional modules

Link to comment
Share on other sites


I don't understand what you want to do, what programing language do you know? You can't design the visual of a program, or how to implement the help topic in a program if you do not write the instructions of that program first.

Link to comment
Share on other sites


@child The agile methods are a group of frameworks used as a guide to build, deploy and maintains a software (to make your project less prone to failure). It is a contrast to past methodologies like the waterfall cycle where is there is a high chance of project failure.

The key idea is that you follow an iterative and evolutionary model suited for your need. There are tonnes of material online you can read about. Wiki explains if well: https://en.wikipedia.org/wiki/Software_development_methodologies

Also this is a good place to start learning about agile http://www.agilemanifesto.org/

For drawing UML diagrams I normally use Dia which is free and sometimes use Visual Paradigm Community edition.

What IDE would you suggest Visualstudio or something else....

This is a more of a personal choice. Everyone has their favourite IDE and there no best IDE which beats others. Others prefer to use text editor like Sublime or even Vim.

Edited by pr3y
Link to comment
Share on other sites


I don't understand what you want to do, what programing language do you know? You can't design the visual of a program, or how to implement the help topic in a program if you do not write the instructions of that program first.

May be I too much bothering you.......

I am too slow to start something but I prefer to finish my home work before start any thing.......

I am an electronics engineer... work with electronics from age of 16 and from past 13 years I also involve with computer hardware/software/programming... initially start with assembly than VB little C++ and now start .NET (C#)

Yes we can design visual of a program..... it is my personal opinion... because if you visualize something in your brain you can also show it to others ....

Yes I agree to you..... without program I can't implement help document but I don't waste time ... I just write all helping tips with program instruction..... Plus After many years of different working I have lot of different documentation..... and I just want to compile all of them in a single place for quick reference....

-------------------------------

The main problem I am not finish my education as a programmer so I don't know many important things which you knows.....

and I things it is better if you ask guidance from those who knows better than you....

Link to comment
Share on other sites


@child missed one of your question

6- I only know SQLlite for saving records (server less), is there some other option available .....?

Depend on what you are really after. You can take the SQL approach and use something like SQLite or use a NoSQL databases like MongoDB which is scalable.

Again it depend on your requirements whether you need the features of relational databases or not.

Once I use only .txt file... :)

What do you mean by this?

Edited by pr3y
Link to comment
Share on other sites


once i make a mobile sms sender through serial port at that time I save the contact list is txt file, sms in the other txt file..

Plus onetime I take the machine setting from a txt file so the software connect with the machine.

Link to comment
Share on other sites


Ok, for something like storing machine settings a config text file is probably the best way as you mentioned. The main purpose of using relational databases is to perform query operations between the information stored in the database. If you're not doing this there is no need to use a database.

Link to comment
Share on other sites


You are not bothering me, but you need to give full details so people can understand what you want to do.

Ok, for something like storing machine settings a config text file is probably the best way as you mentioned. The main purpose of using relational databases is to perform query operations between the information stored in the database. If you're not doing this there is no need to use a database.

and Now I want to make my own wish.... show the world what I visualize. :hypocrite:

I have two project in my mind.....

First one is related with my technical job........

and the second one is my own wish (I don't want to disclose it at the moment.... :ph34r: ) and I believe it will not the baby work... may be years need to finish... but it will make the life is easier :fun:

Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...