Comments by "Edward Cullen" (@edwardcullen1739) on "Continuous Delivery"
channel.
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
Couple of things:
"Python is the second best language for any project."
BDFL has stated "if you're worried about performance, why are you using Python?"
In this sense, Python should be used for prototyping, to understand the problem and work out how to solve it correctly. Once you have a correct solution, translating that to a performant language is trivial in comparison (plus, you have a reference implementation to test against).
Given we rarely get it right first time ("Plan to Throw One Away"), the only "performance" that matters, is getting to a correct solution.
Not strictly a Python issue, but comments in code are just like unittests: done right, with the right intent, they are GoodThing™ and should be encouraged.
Good comments give a different view of the code.
I've had many people say "you don't need comments or documentation when you have the code", but if I just want to use your code, why should I be forced to spend my time delving into your code? (which may or may not be a pleasant experience in and of itself...)
Documentation forms part of the user interface. If there is a numerical argument, I should not need to read beyond the doc comment to know what the acceptable range is.
People make the argument that "comments don't get updated". I consider this a feature, not a bug.
When there's a mismatch between stated intent in a comment and what the code does, then something, somewhere has gone wrong, potentially seriously so, therefore questions need to be asked. (And Mk1 re-education devices applied... 😉)
1
-
Sorry, but this just comes across as semantic jibberish.
You know that the the original description of Waterfall was a critique, right?
You also fundamentally misunderstand Agile.
Agile is not the absence of specification, it's the development of specification closer to the time they will be implemented; when you're doing Agile, you should still have thorough requirements specification for the features you've implemented/are implementing, you just do them together.
This differs from Waterfall, in that:
1. Doing waterfall implies up-front analysis of a problem in a changing world, where the time between analysis and implementation can be years. This leads to the problem of requirements churn, where "management" keep changing their minds as the (perceived) needs of the organisation change.
2. Developing the requirements and implementation in the light of what actually exists, rather that what "will". This works from both the business and technical perspective.
You get a new requirement that requires fundamental re-design? If you've been Agile, you'll have implemented only what you needed up to that point and so the "loss" is minimal.
SSADM/Waterfall is NO protection/guarantee against such technical redesign requirements. In fact, it was the frequency of these fundamental re-designs in Waterfall projects that contributed to the birth of Agile in the first place!
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1