HN user

halflife

461 karma
Posts5
Comments298
View on HN

Jest mocks allow developers to write bad code. Instead of separating concerns with DI, jest mocks overwrite the importing mechanism without any type safety. Also, if you wish to migrate to native node test runner, the mocks lock you into jest.

Use proper mocks with ts mockito and it will force you to write better code.

Angular v22 2 months ago

When all you need is a synchronous operations, yes. When it involves async, batching, buffering, and user input, it becomes much more complicated, and every step needs to be setup manually.

Angular v22 2 months ago

Agreed, the OP said that the r in rxjs stands for reactivity, so my point was the the names have little bearing on the actual design patterns achieved with the libs

Angular v22 2 months ago

Maybe push pull wasn’t the best metaphor, but the point is that everything can be reactive, it only depends on how much boilerplate you need to write to achieve the desired result.

Since react doesn’t have a true reactive model, you need to subscribe to changes manually (use effect) to create computations, while in signals it’s a primitive (computed).

I actually created a lib that operates signals over reacts state management (https://roypeled.github.io/react-logic/), so I removed the boilerplate to create a true reactive system.

If you want, you can create reactive system just from JS primitives, using callbacks. But that doesn’t make JS reactive by nature.

Angular v22 2 months ago

Its entire state management is not reactive, it’s always on push, not pull. You always need to call setState to get render changes.

Angular v22 2 months ago

I partially agree, there is an overlap between signals and rxjs, however the core business is different- observables are about data manipulation, while signals are about efficient state management.

Regarding angular I agree, rxjs was a bad choice for data management, and before signals arrived I abandoned rxjs in favor of mobx in my angular projects. However you could roll your own http client, we used axios, and using DI it’s a drop in replacement.

Angular v22 2 months ago

Each one of these solves a different problem.

Promised - async

Observables - streams

Signals - reactivity

Don’t like to cast stones, but this feels like Claude trying whatever it can to make things work, without fixing the underlying process and problem.

“It looks like the user wants to run curl on windows machine, I need to bootstrap Linux under docker, and channel bash commands into shell inside docker, so the user would be able to run curl natively.”

It’s not about morality. It’s about human nature and economy. It’s like saying everybody should have the same amount of money. The result of such thinking would destroy the coin, and alternate forms of money would be created by the people.

Having all countries open the borders to anyone (ignoring security risks for the sake of the argument) would mean all poor people would emigrate to rich countries and strain the economy, while their home country would collapse from lack of workforce.

T 2 months ago

'P' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'F'

Of course, but that really depends on the level of expertise and the type of programmer you are, and to some extent, the attitude of the organization your in to code and refactoring.

When everyone around writes shit code, you don’t care. In hooks, it becomes much more critical.