Planning:
i.
Before starting to work on any project, understand
thoroughly the project concept, the purpose and the work to be done.
ii.
A database should be thoroughly understood before
doing any change or using its constituents in the project.
iii.
Before starting any project, a through implementation
of the database should be done and the database should be reviewed multiple
times in relation to the flow of the project as for any difficulty or necessary
change that has to be done before starting the development..
iv.
Any change in the database, once the project has been
moved forward, leads to chaos.
Input Screens:
i.
Should look spacious to eyes and also be soothing.
Should speak up their motto.
ii.
Less numbers of boxes.
iii.
Self communicating.
iv.
Dates should be visible for administrators and
wherever necessary.
v.
Use IE while testing design first and then any other
browser.
vi.
All code should be browser compatible.
vii.
Controls should be uniform and disciplined.
viii.
Always remember that a user is a naïve user and he
doesn’t understand any technical terms, and then design the screen communication
accordingly.
Validations:
i.
Use script validations and then server side
validations.
ii.
Control names used in scripts and those defined in
controls should match cases. (Browser Compatibility).
iii.
Make the scripts fail proof so that there is seldom
any need for the server side validations to post back.
iv.
Use strict validations as
a.
Date formats should be uniform. (Most users prefer
dd/MM/yyyy).
b.
Email validations.
c.
For mobile number validations use starts with 7 or
more series and 10 characters long.
d.
The results of validations check should be user
friendly, ex. The field should get highlighted or/and should get focus.
Formatting:
i.
Be very consistent with the code formatting, it is
very necessary for the other person to understand your code. Each inner
sentence should be given a tab to give
proper indent.
ii.
IE has three default font sizes, your page structure
should look consistent through intermediate with these sizes.
iii.
The font you are using should be standard and easily
available.
iv.
Font sizes used should not be too large neither too small.
v.
Use less number of tables.
vi.
Never use css class having alignment justified
in form fields - as a result it shows text vertically down while entry and
scrolling
vii.
When reports are too big, use small images and put
text in the title tag of that image.
viii.
Most of the JavaScript functionalities should be
framed into a common function and should be placed into a single JavaScript
library.
ix.
Similarly, all the style applications should be done
using style classes and those should be placed into a single style sheet.
x.
Reports:
i.
Give all necessary fields with the context of the
report. A report should not only display the fields of a table but should be
made more descriptive with a unique amalgamation of necessary information to
frame a more intuitive and descriptive report.
ii.
If the field text is too large, use a image and
display it as tool tip, the image/color etc should match the purpose of the
information to be displayed.
iii.
Give all necessary filters.
iv.
The current date should be visible at the top-right or
a feasible location.
v.
Apply paginations.( includes fixed records and
vi.
Give exporting options PDF/Excel etc. And the exports should have proper header/footer.
vii.
If possible, use Page non refreshing filters.(use
scripts wherever possible)
Coding:
- Any variable name should be self descriptive and most important is be consistent with the variable names you use. Ex. AdminApproved, Admin_approved, admin_Approved all are ok, but once you adopt one, it should be followed throughout the coding.
- Variables should be carefully used and unnecessary global variables should be kept to the minimum. (Seldom use global variables).
- All the Database related code should be kept in a separate library and should be accessed using functions.
- All Query’s and stored procedures should be checked neatly for their optimality. A query that gives the right result is not always the best query.
- Put comment above every function which gives the description of the parameters and the purpose of the function the comment language could be your own language, the motto is that it should describe the context..
- Try to make the maximum use of the common library functions, and so while framing the library functions frame with the view that they will be reusable.
- Check return values of junctions for error conditions, a error is unpredictable and all possible places where an error could occur should be handled and a through methodology should be written to properly/gracefully compensate.
- Strictly separate business logic from the program.
Conclusion:
- No programmer can ever implement all of these suggestions 100% of the time. Not only does one reach a point of diminishing returns, but also there will always be areas that are open to interpretation, opinion, and individual style.
- But just because perfection isn't achievable doesn't mean you shouldn't strive for it. In fact, the most important thing you can do is to identify the area(s) listed above where your program is most lacking and take steps to fix it. For example, your program might have excellent database handling routines but your variable names may be completely unintuitive.
- Half the battle is figuring out (and admitting) where your program needs improvement; the other half of the battle is doing something about it.
- Well well well, this is it all for now.....will come up soon......

No comments:
Post a Comment