Thanks Egon.
It's great idea and useful.

That work is nice and I was impressed.
*"Not all of a large system will be well designed."*

Thanks again!


2016年5月18日水曜日 19時02分49秒 UTC+9 Egon:
On Wednesday, 18 May 2016 05:03:39 UTC+3, Harry wrote:

Hi guys,

We are developing certain web service for those who use it by paying
I'd like to know suitable design pattern for development of Golang.

There are lots of useful packages on Github or another repository.
However our team tends to develop everything by ourself without such
outer packages even if it's useful.
In my opinion, I'd better to use more those useful packages to
work effectively.
To persuade my co-workers, I want to know best practice and that reasons.
Everything part of your system is your problem -- if you include a
package, then you have to maintain it, if there is a bug you need to fix
it. If there are other people using the same package, this means that there
is a bigger chance that the bug gets fixed. Packages also come with an
integration cost -- the better the package, the smaller the cost. For
example the Go standard library has a very small cost for the integration

However those aren't the most important factors. The major question should
be asking yourself is --- *how and why does it provide value to the

Basically ask yourselves, is it the most valuable thing that you could be
doing right now.

Sometimes finding a better color scheme for an application is more
important than getting 50ms off the response times. In other cases
optimizing 50ms could increase 10000$ of revenue per day for the customer.


*1.* is it the most valuable thing for the customer that you are doing
right now,
*2. *are there better and easier ways of creating the same value
*2.a* is doing it better than everyone else going to make a difference or
*2.b* can you just use some 3rd party library and move onto some other
important thing

Basically decide what you *don't work on*, it makes the question where to
put your effort easier.

I love a quote by Eric Evans:

*"Not all of a large system will be well designed."*

And this interpretation of it: *You need to decide what parts of your
system will be well designed and what parts will be poorly designed, that
way you spend more time on things that make a bigger difference.*

+ Egon
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 7 | next ›
Discussion Overview
groupgolang-nuts @
postedMay 18, '16 at 2:03a
activeMay 19, '16 at 8:18a



site design / logo © 2021 Grokbase