Giter Club home page Giter Club logo

coding-standards's People

Contributors

lorddev avatar mplacona avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mplacona

coding-standards's Issues

List of sites

  • Being involved with Stack Exchange communities is a Best Practice. Ask your colleagues for a link to their SE profile so you can see what they're up to.
  • Coding Horror

Every word tell.

From The Elements of Style
Sentence should contain no unnecessary words, etc.

Same applies to software. Avoid the bloat.

VB options

  1. VBScript (yes, some sites still use it): Option Explicit, always
  2. VB.NET: Option Explicit, Option Strict, etc. Set up your solution to build the same way MSBuild would if you called MSBuild using default parameters.

Add JavaScript Markdown parsing

For GitHub pages (published in the gh-pages branch), add a JavaScript markdown parser so we can bypass Jekyll.

  • Main page will be index.html
  • Use a JSON manifest file to indicate which pages should be visible, as JS can't examine the directories on the server
  • Fork the parser and make it available on GitHub

Boy Scout!

Be a boy scout coder. Always check in your code cleaner than it was when you checked it out.

Some companies will frown on this. That's how you know it's not a place where you want to work.

IE issues

console.log() throws an error in IE <=9 when you don't have the debugger open. So put in a code snippet that will serve as a placeholder.

Raphael.js isn't supported in old IE, so have a workaround.

List of books

List of recommended books to include:

  • Clean Code
  • Dreaming in Code
  • Producing OSS

New topic: Data Access Objects

Start a new topic for Data Access Objects within the Design Patterns category. Focus is on its use in .NET, as it's a J2EE pattern and virtually all searches for it end up on Oracle.

TDD and exception handling

Bob Martin:

Try to write tests that force exceptions, and then add behavior to your handler to satisfy your tests. This will cause you to build the transaction scope of the try block first and will help you maintain the transaction nature of that scope.

IDesign + Microsoft

This issue represents the goal of incorporating useful ideas borrowed from the Microsoft Class Library Guidelines and the IDesign standards. Make sure to add a footer for attribution.

Examples: Namespacing, numbers of parameters, etc.

String concatenation

No += allowed.

Provide links to benchmarks concerning StringBuilder vs string.Format() vs string.Concat()

Incorporate recommendations from Jethro

From Jethro Larson:

Write good commit logs that state what was changed and link to issue trackers. Don't mix spaces and tabs! Don't over plan, don't over document, don't over engineer, yagni, kiss, make it work without js first; write the manual first; Code like you're designing an API; start with the user experience not the db; know the page lifecycle; understand the waterfall; make everything non-blocking; don't forget the robots

Agile issues

One of the tenets of Agile methods is that communication must be face-to-face. This doesn't work so well with remote teams. Though it's possible to use free videoconferencing tools like Google Hangouts, the creators of the Agile methodology didn't really have this in mind, and would tell you it's not true Agile unless you're actually in the same room. Furthermore, scheduling issues become much more complicated. Not only could you have issues with different time zones, but many independent developers have multiple projects going on. If they had to have a daily scrum with every team they were on, that would really eat away at their productivity.

More recommendations from Jethro

Important http://www.codinghorror.com/blog/2009/02/paying-down-your-technical-debt.html

Favor existing solutions.

If you can't explain the problem simply you can't solve the problem smartly.

The bug is probably in YOUR code.

Invest in a robust debugging environment.

Sharpen your saw

Stay out of quadrant 3 http://c2.com/cgi/wiki?FourQuadrants

User Experience is everyone's responsibility, QA is everyone's responsibility, priority is everyone's responsibility, maintenance is everyone's responsibility. All of it is YOUR responsibility.

You've been granted precious moments of your users' attention, cherish them.

Ethics matter.

Nothing will be more important for your development as a professional than communication.

Courage is required.

Main points from Uncle Bob's _Clean Code_

I intend to have a whole page on "Functions should do one thing", but I also think it would be helpful to have a single itemized list that summarizes the points of Clean Code, that people can refer to periodically as a refresher.

ReSharper/StyleCop

One way to determine a given project's coding standards may be to simply choose whether or not you will use StyleCop with your installation of R#.

Testimony

I don't know about you, but I'm the kind of developer who always wants to get better. Whenever I find ways to improve my process or do things better, I try to implement what I learned right away.

As I have learned, I have found that there are some things that people do out of habit, and some things people do because it's a pattern that they've learned from others, and they've learned that there is a reason to do things this way

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.