Download the code package(s) and extract using 7zip:
- Make sure archive is valid and extracts properly
- Check for existance of source-control repositories (.git / .svn / etc). Those should not be in the package.
- Go over the organization of the source file - is there a consistent and clear naming convention and directory structure?
- Source file contents:
- Does the code comply to the coding standards of the relevant programming language? this include proper indentation, naming conventions for method and parameters and other such conventions.
- Does the code contain method and parameter documentation (comment blocks)? are those comments in English?
- Does the code document inline important implementation details? no comments is typically not a good sign.
- Is the code well organized? is it properly abstracted into functions / classes and other constructs? does it use relevant patterns to enable future reuse and modification?
- Is there additional relevant documentation in the package? should there be? this includes setup and configuration instructions for the component.
Licensing and pricing
Examine the licenses created for the component:
- Does the type of license match the intended platform for the component? compiled languages should have at least one “application” license, while hosted languages should have at least one “hosted” license.
- Does the pricing match the stated development time? as a rule-of-thumb, multiply development hours by 1.3, and round to the nearest **9.99 pricing (end with 9s).
- Does the development time makes sense? estimate the scope of the project from the source-code package you examined in the previous step.
- Does the code contain 3rd party licenses? all of those must have their licenses listed under the “Included Licenses” section of each Binpress license. In case the license of included 3rd party code is not obvious, ask publisher to obtain the right license or a permission to redistribute from the copyright holder.
- As a recommendation, all components should include a “developer” license as well. Developer licenses are aimed at 2 use-cases: software companies building products for 3rd parties (clients), and developers building a product which also includes the source-code as a deliverable. Developer licenses are typically priced at x6-10 times that of the basic licenses.
Open the component profile in preview mode and examine it:
- Does the name succinctly describe the component and includes relevant keywords (such as platform / language)?
- Does the summary build on the name to explain what the component is in 1-2 sentences?
- Does the description state what the component does? does it show a list of features / benefits? is it properly formatted and broken down into digestible sections? (not too long, not too short)
- Did the publisher fill out the documentation / setup / code examples sections?
- If the component has a UI element, is it demonstrated through relevant screenshots? would it be possible to include a video (as a link from youtube / vimeo)?
- Is markdown properly used to format the contents? this includes links, bullet points, code samples and headings.
- Did the publisher upload a relevant logo / icon?
- Does the profile include a link to an online demo? ask the publisher to provide a demo when relevant.
- Profile should not contain external links to pages that sell the same product.
View the publisher profile and examine the provided details:
- Did the publisher provide his full name with proper capitalization?
- Did the publisher upload a relevant logo / avatar?
- Did the publisher fill out his profile description?
- If possible, ask the publisher to add relevant links to this profile to strengthen his credibility, such as a portfolio site, stackoverflow profile and GitHub profile.