Coding For a Living

rss

A place to share and comment about coding for a living.


Introducing..Microsoft Visual Studio Online Mike McIntyre

Visual Studio Online, the next evolution of Microsoft Team Foundation server, is a cloud-hosted imageapplication lifecycle management (ALM).

Use Visual Studio Online to plan, create, construct, build, test, and monitor seriously demanding applications, from anywhere.  Use it to:

  • Create private, cloud-hosted source code repositories
    Choose between Git or TFVC for source control
    Discuss code changes with your team
    Create a backlog and work in sprints
    Track requirements, tasks, and bugs with work items
    Monitor progress using Kanban boards or agile task boards
    Offload your builds
    Automate your build process
    Track build health over time

No more servers, unlimited load testing, easy to use – I love it!

More…


DB Schema Design–Rethinking ‘Type’ Tables Pt 1 Mike McIntyre

If you are a typical business application developer you probably work with a database which is cluttered with ‘type’ tables e.g. InvoiceType, CustomerType, PaymentType, CreditCartType, OrderType, ItemType, ProductType – which all have a schemas similar to these:

     image

There are the same number of columns in each type table above. 

The data type of the columns are the same in all the tables. 

Some column names are the same in all the tables. 

Columns names that are not the same in all tables do follow the same naming rule in each table e.g. ItemTypeId, OrderTypeId, ListTypeId which all end with ‘Id’.

Given how similar these tables are, why not use 2-3 tables for all standard ‘type’ data, maybe something like this?

 

     image

More to follow in part 2 of ‘DB Schema Design–Rethinking ‘Type’ Tables’


xRad–Well Known Schemas Mike McIntyre

In my three previous xRad posts I explained the use of well known names and how they help make extra rapid application development (xRad) possible.

  Coding For a Living  xRAD Well Known Names– Part 1
  Coding For a Living  vRAD Well Known Names– Part 2
Coding For a Living  vRAD Well Known Names– Part 3

 

In this post I will expand on the ‘well known’ concept that speeds up application development by discussing well known table schemas.

There are many database tables that are commonly used in business applications. A few examples are:

  Customer CustomerType Comment Location Table
  Contact ContactType Role Profile Price
  Address AddressType Version File  
  Order OrderType User Permission  
  Item ItemType AppLog Role_Permission  

 

Since 1992 we have identified 1104 well known table schemas.

Like well known names, well known table schemas are used in my databases, models, code, generators, and snippets.image

And, like well known names, well known schemas reduce development time because they are reusable.

Some benefits of well known table schemas are:

1.  When a new project starts up no design time is spent on the well known tables.

2.  Programmer documentation about well known schemas has not changed since 2011.  We will add more well known tables schemas but they will be additions, not changes.

3.  We run one script to install all well known tables at the beginning of a project.

4.  Code, text, comment, and documentation generators - auto create data access code, enum code, validation code, classes, and more for the well known tables. Once we install the tables and run the generators everything just works.

We’ve found it’s easier to install the well known tables and generate supporting code than to pick and choose.


vRAD Well Known Names– Part 3 Mike McIntyre

In my two previous vRAD posts I explained the concept of well known names and introduced ‘PostalCode’, a well known name I have used for application development since 1992.

  Coding For a Living xRAD Well Known Names– Part 1
  Coding For a Living vRAD Well Known Names– Part 2

At the end of my last xRAD post I asked: Can you think of at least three more ways the well known word PostalCode helps us build applications rapidly?

Here are a few of many correct answers:

  1. Reduces code review time. PostalCode classes and class members which encapsulate data and behavior, were last changed in 2004.
  2. Reduces testing time; PostalCode classes and class members which encapsulate data and behavior, were last tested in 2004.
  3. Avoids elusive names that are open to subjective interpretation.
  4. Promotes self-documenting code and reduces code comments.
  5. Provides a common name across the tiers of a multi-tier application.
  6. Makes it possible to document legacy systems faster.

 

In three posts I have explained the concept of well known names and how a single well known name can speed up application development by promoting re use over new development.image

Since 1992 we have developed 1513 well known names. Examples are:  PhoneNumber, EmailAddress, City, State, Country, Customer, FirstName, LastName, Contact, Url, Product, UnitOfMeasure.

Our well known names are used in schema scripts for databases, in models, in code, generators, in documentation, and much more.  We have code snippets for every well known name.

When we start a new project an average of 88% of the names we need come from our well known names.

In future posts I will explain how the ‘well known’ concept applies to other things used for application development; things like ‘well known tables’, well known methods, well known constants, and more.


vRAD Well Known Names– Part 2 Mike McIntyre

This post explains several ways well known names help my company build applications rapidly.

In my previous vRAD post I introduced ‘PostalCode’, a well known name I have used for application development since 1992.

In our development world, the well known word PostalCode is used where ever a zip code, post code, or postal code is represented or stored, for example:

1. as the column name of all database table columns that store a zip code, post code, or postal code

2. in data models where ever a zip code, post code, or postal code is used

3. as the property name in all classes that require a zip code, post code, or postal code

4. in programmer documentation

5. in code and other generators

PostalCode helps build applications rapidly because it reduces development and development project time.

How? Reuse. Reuse as in where the same thing is used again for the same function – again, and again, and again.  Since 1992:

1. No design time has been spent coming up with what to name things that will represent or store zip codes, post codes, or postal codes.

2. Programmer documentation about PostalCode has not been changed since 1992.

3. Anyone who has worked for me for more than a couple of months can teach a new person to use PostalCode because it is – you guessed it – well known.

4. Code generators, which require postal codes, post codes, or zip codes - for schemas, models, code, and tests – used the well known name PostalCode. We never spend time modifying that part of our code generators.

Can you think of at least three more ways the well known word PostalCode helps us build applications rapidly?

Answers will be published in the next xRad blog post..


xRAD Well Known Names– Part 1 Mike McIntyre

 

Well known names are part my rapid application development (xRAD) frame work. In this blog post I introduce a well known name that has helped me, since 1992, to rapidly develop applications for my clients.

In 1992 I decided PostalCode would be the well known name I would use for: postal code, post code,and zip code.

Zip code, post code, and postal code are different names for the same thing - a code that is appended to the end of addresses to make it possible to quickly sort mail.

PostalCode is consistently used in my databases, models, code, generators, snippets, control names – anywhere one of my applications uses a zip code, post code, or postal code.

Stay tuned for my next XRAD blog post in which I will explain how a well known name like PostalCode contributes to rapid application development.