download zip of files only
Thu Sep 18 06:47:54 GMT 2014
From /weblog/design
Writing shy code is just a small start at preventing the introduction of bugs, but it really helps. Just as in the real world, good fences make good neighbor - as long as you don't peek through them. http://www.computer.org/software/homepage/2003/s1const.htm http://www.pragmaticprogrammer.com/ppllc/papers/1998_05.html Other than that, there is also security risk if you show too much to other - http://www.indicthreads.com[..]_or_objects_java_security_problem_1.html An example of why passing Map around is wrong and show solution of that example - http://antagonisticpleiotropy.blogspot.com[..]spot.com/2008/01/hashmap-temptation.html Quoting from Getting Method in Beck’s 1997 Smalltalk Best Practice Patterns (emphasis his): “Here’s the real secret of writing good Getting Methods - make them private at first. I cannot stress this enough. … There are cases where you will publish the existence of Getting Methods for use in the outside world. You should make a conscious decision to do this after considering all the alternatives. It is preferable to give an object more responsibility, rather than have it act like a data structure.” Quoting from Setting Method: “Everything I said once about Getting Methods, I’d like to say twice about Setting Methods. Setting Methods should be even more private. It is one thing for another object to tear out your state, it is quite another for it to bash in a new state.” http://tech.groups.yahoo.com[..]om/group/domaindrivendesign/message/5701 East: Clean and DRY, an example of why tell don't ask help - http://jamesladdcode.com/?p=294 But personally, I don't use tell-dont-ask. I do look to co-locate data and behavior, which often leads to similar results. - http://martinfowler.com/bliki/TellDontAsk.html Another discussion about getter and setter - http://www.yegor256.com[..]/09/16/getters-and-setters-are-evil.html
(google search)
(amazon search)
Mon May 19 07:37:30 GMT 2014
From /weblog/design/examples
Show how TDD can help OpenSSL to prevent heartbleed if they do it at the first place - http://martinfowler.com/articles/testing-culture.html
(google search)
(amazon search)
Wed Mar 19 02:56:41 GMT 2014
From /weblog/design
Really? I would rather say every line of code need to maintain - http://www.javacodegeeks.com[..]s-copy-and-paste-programming-really.html Data, Type, Algorithm - http://www.dotnetcodegeeks.com[..]012/05/types-of-duplication-in-code.html Using closure to prevent code duplication - http://dublintech.blogspot.com.au[..]com.au/2014/03/good-use-of-closures.html "Duplicated code is the root of all evil in software design. When a system is littered with many snippets of identical, or nearly identical code, it is indicative of sloppiness, carelessness, and sheer unprofessionalism. It is the guilt-edged responsibility of all software developers to root out and eliminate duplication whenever they find it." - http://edmundkirwan.com/general/duplication.html
(google search)
(amazon search)
Fri Dec 20 04:17:18 GMT 2013
From /weblog/design/distribute
Solution #1: Have More Resources than You'll Ever Need Solution #2: Disable Features During High Loads Solution #3: Auto Scaling Solution #4: Use Message Queues http://blog.iron.io[..]spikability-applications-ability-to.html http://highscalability.com[..]izing-and-capacity-planning-assumin.html
(google search)
(amazon search)
Fri Nov 01 06:28:59 GMT 2013
From /weblog/design/examples
Key points 1) No stored procedures are used. There are some very simple triggers. 2) Move cpu-intensive work moved out of the database layer to applications applications layer: referential integrity, joins, sorting done in the application layer! Reasoning: app servers are cheap, databases are the bottleneck. 3) No client-side transactions. no distributed transactions 4) J2EE: use servlets, JDBC, connection pools (with rewrite). Not much else. 5) No state information in application tier. Transient state maintained in cookie or scratch database. http://highscalability.com/ebay-architecture How ebay use Cassandra - http://www.infoq.com[..]-practice-of-cassandra-data-model-design http://www.infoq.com[..]ctices-cassandra-data-model-design-part2 http://www.ebaytechblog.com[..]dra-data-modeling-best-practices-part-1/ http://www.ebaytechblog.com[..]dra-data-modeling-best-practices-part-2/
(google search)
(amazon search)
Sat Mar 02 09:01:24 GMT 2013
From /weblog/design
Contain resource of measurable code metric information - http://thediscoblog.com[..]20/code-quality-for-software-architects/ Meaningful Metrics - http://www.developsense.com/2009/01/meaningful-metrics.html http://programmers.stackexchange.com[..]ions/115839/how-clean-should-new-code-be Guidelines for a more appropriate use of metrics Explicitly link metrics to goals Favor tracking trends over absolute numbers Use shorter tracking periods Change metrics when they stop driving change http://martinfowler.com/articles/useOfMetrics.html
(google search)
(amazon search)
Mon Jan 21 09:07:23 GMT 2013
From /weblog/design
Agile Models Distilled: Potential Artifacts for Agile Modeling - http://www.agilemodeling.com/artifacts/ Difference between Association, Composition, Aggregation, Dependency, Abstraction, Realization, Generalization - http://techie-experience.blogspot.gr[..]1/quick-summary-object-associations.html
(google search)
(amazon search)
|