Folio3 is a software development company that focuses on designing custom enterprise, mobile, and social media applications. They have over 200 employees across offices in the US, Canada, Bulgaria, and Pakistan. The document outlines Folio3's areas of expertise and best practices for software development and databases, including using consistent naming conventions, short methods, clear comments, specific exceptions, and avoiding wildcard queries.
3. Who We Are
We are a Development Partner for our customers
Design software solutions, not just implement them
Focus on the solution – Platform and technology agnostic
Expertise in building applications that are:
Mobile Social Cloud-based Gamified
4. What We Do
Areas of Focus
Enterprise
Custom enterprise applications
Product development targeting the enterprise
Mobile
Custom mobile apps for iOS, Android, Windows Phone, BB OS
Mobile platform (server-to-server) development
Social Media
CMS based websites for consumers and enterprise (corporate, consumer,
community & social networking)
Social media platform development (enterprise & consumer)
5. Folio3 At a Glance
Founded in 2005
Over 200 full time employees
Offices in the US, Canada, Bulgaria & Pakistan
Palo Alto, CA.
Sofia, Bulgaria
Karachi, Pakistan
Toronto, Canada
6. Areas of Focus: Enterprise
Automating workflows
Cloud based solutions
Application integration
Platform development
Healthcare
Mobile Enterprise
Digital Media
Supply Chain
8. Areas of Focus: Mobile
Serious enterprise applications for Banks,
Businesses
Fun consumer apps for app discovery,
interaction, exercise gamification and play
Educational apps
Augmented Reality apps
Mobile Platforms
10. Areas of Focus: Web & Social Media
Community Sites based on
Content Management Systems
Enterprise Social Networking
Social Games for Facebook &
Mobile
Companion Apps for games
14. Naming/Coding Standard
Commonly used standards are Pascal & Camal casing.
Pascal Casing - First character of all words are Upper Case and
other characters are lower case.
Example: BackColor
Camel Casing - First character of all words, except the first word
are Upper Case and other characters are lower case.
Example: backColor
For complete reference, use language specific coding standard
document available on folio3 portal.
15. Good Programming Practices
Avoid writing very long methods
A method should do only 'one job‘
Do not hardcode numbers. Use constants instead.
Convert strings to lowercase or upper case before comparing.
Use String.Empty instead of “”
16. Good Programming Practices
Use member variables in class to store persistent data. Avoid
using member variable for passing data between methods.
The event handler should not contain the code to perform the
required action. Rather call another method from the event
handler.
Do not have more than one class in a single file.
Avoid having very large files.
If you have a method returning a collection, return an empty
collection instead of null.
17. Good Programming Practices
If you are opening database connections, sockets, file stream etc,
always close them in the finally block.
Do not write comments if the code is easily understandable
without comment.
If you have to use some complex or weird logic for any reason,
document it very well with sufficient comments.
If you initialize a numeric variable to a special number other than
0 or -1, document the reason for choosing that value.
18. Good Programming Practices
Never do a 'catch exception and do nothing‘.
In case of exceptions, give a friendly message to the user, but log the actual
error with all possible details about the error, including the time it occurred,
method and class name etc.
Always catch only the specific exception, not generic exception.
When you re throw an exception, use the throw statement without specifying
the original exception.
Do not write try-catch in all your methods. Use it only if there is a possibility
that a specific exception may occur and it cannot be prevented by any other
means.
Do not write very large try-catch blocks.
19. Good Database Practices
Do not use SELECT * in your queries. Always write the required
column names after the SELECT statement.
Try to avoid wildcard characters at the beginning of a word while
searching using the LIKE keyword.
Also avoid searching using not equals operators (<> and NOT).
20. Good Database Practices
Use 'Derived tables‘ (also known as inline View) wherever
possible, as they perform better.
Use the more readable ANSI-Standard Join clauses instead of the
old style joins.
With ANSI joins, the WHERE clause is used only for filtering data.
Where as with older style joins, the WHERE clause handles both
the join condition and filtering data.
21. Good Database Practices
If you are using Microsoft SQL Server, never prefix your stored
procedures with 'sp_‘.
Try to avoid generating unique ID while inserting rows in the db.
If it’s unavoidable, then use techniques to avoid pitfall.
22. Contact
For more details about our
services, please get in touch with
us.
contact@folio3.com
US Office: (408) 365-4638
www.folio3.com