June 2007

List of tools for Web accessibility testing:
Quick Accessibility Testing


I hightly recommend this article:
Why You Should Polish Your Code

Résumé of problems you should look for while polishing your code:

  • Duplication of logic in two or more places.
  • Undesired dependencies.
  • Overly complex logic, like a large switch statement or series of nested if-else statements.
  • Too many classes within one package.
  • Too many methods within a class, particularly public methods.
  • Overly long file, in excess of a couple thousand lines.
  • Overly long methods.
  • Poorly named classes, methods, fields or local variables.
  • Lack of a class comment.
  • Violation of the principle Single Responsibility
  • find more at http://www.xprogramming.com/

Six language-independent ways to write better code


  1. Plan for extensibility
    There are many simple suggestions that can help extensibility: Don’t code specific solutions — code generic, reusable libraries. Don’t assume the length or size of anything will be constant. Version all your user-data files. Use encapsulation.
    By far the most time spent in any stage of the software life-cycle will be spent in the maintenance phase — so it is imperative to design your software in a way that encourages easy maintenance — and that means designing for extensibility.
  2. Don’t use magic numbers
  3. Document why, not what
    If your code really needs a comment to explain what the code is doing, your code probably needs to be refactored or simplified, not commented.
  4. Don’t reinvent the wheel
  5. Work incrementally
  6. Find someone willing to criticize your work

Doing the right thing now will give you more time in the future to continue doing the right thing.

Voici la liste: The top ten questions every programmer should ask on a job interview

  1. How many hours are in a typical work week?
  2. What are the expectations regarding travel?
  3. On average, how long does an employee remain with your company?
  4. What kind of on-going training can I expect to receive?
  5. Can you give me an overview of the development process?
  6. Who is your largest client, and what can you tell me about the work you do for them?
  7. Can you discuss any growing pains experienced by the company in the last two years?
  8. How is a typical performance review handled?
  9. What types of social activities are organized throughout the year?
  10. Can you tell me if I have the experience you need?

Une autre liste intéressante: Questions every Candidate should ask a potential new employer

  1. Explain the company’s development process at a high level.
  2. How are releases scheduled/planned, do you utilize iterations
  3. Do you have dedicated environments (development, qa, stage, production)
  4. Do you follow any formal methodology (agile (what flavor), waterfall, etc)
  5. What is the company’s philosophy on team member involvement in the SDLC process
  6. Do you have a continuous build environment setup
  7. Do you follow some form of TDD
  8. How do you track/follow bugs/issues
  9. Do you perform code reviews
  10. What type of development tools do you have
  11. What type of hardware for the developers to you have
  12. Is QA involved from the onset of development
  13. Do you have a knowledge center for the team such as a team portal, wiki, etc
  14. Do you have up to date specs on the application
  15. What form of stake holder involvement is there in the development cycle
  16. Do you have documented coding standards, are they followed

A Realistic Look at Object-Oriented Reuse


Types of reuse

  • Code Reuse
    At its best, code reuse is accomplished by sharing common classes or collections of functions and procedures (this is possible in C++, but not in Smalltalk or Java). At its worst, code reuse is accomplished by copying and then modifying existing code.
    A key aspect of code reuse is that you have access to the source code.
  • Inheritance Reuse
  • Template Reuse
    Template reuse is typically a form of documentation reuse. It refers to the practice of using a common set of layouts for key development artifacts-documents, models, and source code-within your organization.
    For best results with templates, you need to make it easy for developers to work with them.
  • Component Reuse
    Component reuse refers to the use of prebuilt, fully encapsulated components in the development of your application. Components are typically self-sufficient and encapsulate only one concept. Component reuse differs from code reuse in that you don’t have access to the source code.
  • Framework Reuse
    Framework reuse refers to the use of collections of classes that implement the basic functionality of a common technical or business domain together. Developers use frameworks as the foundation from which they build an application; the common 80% is in place already, they just need to add the remaining 20% specific to their application.
  • Artifact Reuse
    Artifact reuse refers to the use of previously created development artifacts-use cases, standards documents, domain-specific models, procedures and guidelines, and other applications-to give you a kick start on a new project.
    Artifact reuse promotes consistency between projects and reduces the project management burden for each new one. Another advantage is that you can often purchase many artifacts or find them online
  • Pattern Reuse
    Pattern reuse refers to the use of publicly documented approaches to solve common problems.
    With pattern reuse, you’re not reusing code; instead, you’re reusing the thinking that goes behind the code.
  • Domain Component Reuse
    Domain component reuse refers to the identification and development of large-scale, reusable business components. A domain component is a collection of related domain and business classes that work together to support a cohesive set of responsibilities.

The Secrets to Reuse Success

  • You can’t call something reusable unless it’s been reused at least three times on three separate projects by three separate teams.
  • Reusable items must be well-documented and have one or more real-world examples of how to use them.
  • The only way you’ll make reuse a reality is if you plan for it.
  • Reuse is an attitude.

Project Definition: For All The Right Reasons

For a project definition, look for the following aspects:

  • Starting date
  • Specific goals and conditions
  • Defined responsibilities
  • A budget
  • A planning
  • A fixed end date
  • Parties involved

The Longevity of Information Technology (IT) Skills


Longevity of IT Skills

Next Page »