• About

Jian Huang

~ Journey through IT terrain

Jian Huang

Monthly Archives: March 2017

Is TDD a Silver Bullet?

10 Friday Mar 2017

Posted by Jian Huang in TDD, Unit Tests

≈ Leave a comment

Tags

TDD

I recently designed and implemented a project prototype. I used Test-Driven Development (TDD) as well. After implemented the project prototype for a few days, I felt TDD didn’t help me too much in this project due to lack of good requirements specification.

TTD is very helpful when we have a good requirements specification. In another words, if we know what we need to test, TDD is great. However, if we don’t have any concrete requirements specification and still is in prototyping or piloting phase, TDD is not so great.

If we design the project wrong in the upstream of software development cycle, it doesn’t matter whether we use TDD or not. The use case of TDD is in the implementation phase.

Sorry, TDD is not a silver bullet, and we still have to analyze and design first.

References:

https://en.wikipedia.org/wiki/Test-driven_development

http://agiledata.org/essays/tdd.html

 

Advertisements

REST = HTTP?

03 Friday Mar 2017

Posted by Jian Huang in Design Principles, HTML

≈ Leave a comment

No. REST is an architecture style, and HTTP 1.1 is one of the implementations very closely following REST style. But REST is not limited to HTTP, it can be applied to other areas as well.

A little bit history here. One of my friends, Jun, worked at CERN around 90’s. He witnessed the birth of HTTP there. He said that the scientists need to share tons of information about particles, and HTTP was invented for that purpose. The scientists never imagined at that time HTTP changed the world forever, and we now call it World Wide Web.

The HTTP evolves over the years. Fielding developed the REST architectural style while worked on HTTP 1.1 of 1996–1999.

References:

https://en.wikipedia.org/wiki/Representational_state_transfer

https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming

https://martinfowler.com/articles/richardsonMaturityModel.html

 

Recent Posts

  • Where are Docker Layers Saved?
  • DevOps Tip – Use PowerShell to Install Windows Feature
  • Correction – Speeds among Cloud Serves are Very Fast
  • Quiz – Can We Call Static Method of an Abstract C# Class?
  • Changing App Settings in Web.config for Deployments to Different Environments Using Powershell

Recent Comments

Jian Huang on Fluent Validation – Sepa…
Dmitry on Fluent Validation – Sepa…
Yes, foreign key can… on SQL Tip #1 – Indexing Fo…

Archives

  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • September 2016
  • August 2016
  • May 2016
  • March 2014

Categories

  • AI
  • Application
  • ASP.NET
  • AWS
  • bootstrap
  • C#
  • Cloud
  • CSS
  • Dependency Injection
  • Design Patterns
  • Design Principles
  • DevOps
  • Docker
  • Entity Mapper
  • EWS
  • Excel
  • HTML
  • IIS
  • Interactive Maps
  • JavaScript
  • JQuery
  • Misc
  • MVC
  • PowerShell
  • Programming Languages
  • React
  • Refactoring
  • REST
  • SQL
  • SQL Server
  • TDD
  • TFS
  • Uncategorized
  • Unit Tests
  • Version Control
  • Visual Studio
  • Windows Server
  • Windows Server 2012
  • WWW

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.com
Advertisements

Recent Posts

  • Where are Docker Layers Saved?
  • DevOps Tip – Use PowerShell to Install Windows Feature
  • Correction – Speeds among Cloud Serves are Very Fast
  • Quiz – Can We Call Static Method of an Abstract C# Class?
  • Changing App Settings in Web.config for Deployments to Different Environments Using Powershell

Recent Comments

Jian Huang on Fluent Validation – Sepa…
Dmitry on Fluent Validation – Sepa…
Yes, foreign key can… on SQL Tip #1 – Indexing Fo…

Archives

  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • September 2016
  • August 2016
  • May 2016
  • March 2014

Categories

  • AI
  • Application
  • ASP.NET
  • AWS
  • bootstrap
  • C#
  • Cloud
  • CSS
  • Dependency Injection
  • Design Patterns
  • Design Principles
  • DevOps
  • Docker
  • Entity Mapper
  • EWS
  • Excel
  • HTML
  • IIS
  • Interactive Maps
  • JavaScript
  • JQuery
  • Misc
  • MVC
  • PowerShell
  • Programming Languages
  • React
  • Refactoring
  • REST
  • SQL
  • SQL Server
  • TDD
  • TFS
  • Uncategorized
  • Unit Tests
  • Version Control
  • Visual Studio
  • Windows Server
  • Windows Server 2012
  • WWW

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.com

Create a free website or blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy