News for hackers. Stuff that matters.
Re:We're building a browser when it's supposed to be impossible by qikInNdOutReply on Tuesday April 11, 2023 @04:26AM (#35522381)
Do we really pretend this is a architecture decision? This is the classic Agile Management wants to show result for reward fast, that leads to huge tech debt build up, as layers are not properly designed and reuseable.
Re:We're building a browser when it's supposed to be impossible by debevv on Tuesday April 11, 2023 @04:40AM (#35522464)
Looks like regular TDD to me but tests are well defined real world use cases
Re:We're building a browser when it's supposed to be impossible by account42 on Wednesday April 12, 2023 @04:07AM (#35536394)
I guess technically the term test driven development does not specify unit-test driven development.
Re:We're building a browser when it's supposed to be impossible by gnulinux on Wednesday April 12, 2023 @11:44AM (#35541653)
This is a common misconception. I practice TDD at work and side-projects and find it very productive. TDD is best done with end-to-end tests (or automated integration tests, whatever you wanna call it). You write an end-to-end test (I give input A to the entire system, expect output B), first the test fails (because it's unimplemented) and then you implement and it passes.

It works because then your tests become the spec of the system as well, but if you only write unittests there is no spec of the system, only modules of your code. Which is not useful because if you refactor your code and change this module you need to rewrite the test. Whereas in TDD your tests should never be rewritten unless spec changes (new features added, new realization of bugs etc). This way "refactor == change code + make sure tests still pass".

You're of course free to write unittests as well, when you see fit, and there is no need to target a religious X% coverage rate at all. I think coverage targets are cargo-culted, unnecessary, time-consuming and religious. The crucial thing is, while you're writing new code (i.e. implementing a new feature or solving a bug) you need to write an automated test that says "if I do X I expect Y", see it fail, then see it pass, such that "if I do X I expect Y" is a generic claim about the system that will not change in the future unless the expectation from the system changes.

In other words, the example in this comment chain: "run a game, see 'opcode X doesn't exist', implement X, rinse repeat" is actually how TDD is supposed to work.

Re:We're building a browser when it's supposed to be impossible by asimpletune on Tuesday April 11, 2023 @04:30AM (#35522408)
It’s neither. There’s no management or promotions or really any incentive to do this other than it’s fun. It’s also not an architectural decision, just how they as a team decide what to work on.
Re:We're building a browser when it's supposed to be impossible by cudgy on Tuesday April 11, 2023 @06:18AM (#35523069)
But how does developing a half-baked browser that targets some websites for fun refute that building a browser is impossible? Doesn’t it provide another example that it is impossible, at least for this team?
Re:We're building a browser when it's supposed to be impossible by ludston on Tuesday April 11, 2023 @06:59AM (#35523355)
Doesn't that depend on whether or not they end up making a browser in the end?
Re:We're building a browser when it's supposed to be impossible by paulryanrogers on Tuesday April 11, 2023 @09:02AM (#35524541)
Where is the end? And why claim you're doing the impossible until it's done?

It all comes off as puffery to me. Though the vertical slices approach is interesting, so I salute their efforts.

Re:We're building a browser when it's supposed to be impossible by asimpletune on Tuesday April 11, 2023 @08:26AM (#35524210)
Well, it takes time to make something big. And, one way to do it is to choose end-to-end functionality. Idk, it doesn’t seem so controversial to me. I’d wait and see before calling it half-baked.
Re:We're building a browser when it's supposed to be impossible by HelloNurse on Tuesday April 11, 2023 @10:44AM (#35525892)
A vertical slice of the properly integrated features needed by some practical use case is certainly more efficient and effective than implementing the whole of a large API (e.g. some fancy recent, unproven and unstable CSS module) "in a vacuum", getting numerous rare cases wrong, and struggling to test the new features.
Re:We're building a browser when it's supposed to be impossible by unixgoddess on Tuesday April 11, 2023 @05:52AM (#35522881)
that's not true because their architecture follows closely the spec, so it couldn't be any better