fix some old external links

This commit is contained in:
as-op
2026-05-27 16:18:06 +02:00
parent ef9bdd4895
commit 91aec8554b
4 changed files with 7 additions and 7 deletions
@@ -155,7 +155,7 @@ The only exception to this rule are single commit pull requests, which can be ap
## Citations
[Things everyone should do: code review](https://blog.csdn.net/zhangmike/article/details/30198411)
[Things everyone should do: code review](https://goodmath.scientopia.org/2011/07/06/things-everyone-should-do-code-review/)
[Why code reviews are good for you](https://beust.com/weblog/2006/06/22/why-code-reviews-are-good-for-you/)
@@ -401,7 +401,7 @@ The effort score ranges from 0.03 (XS = less than a day of effort) to 20 (XXXL =
### 4.3 Opportunity Canvas
One of the main artifacts used in the evaluation phase is the Opportunity Canvas. The Opportunity Canvas - [slightly adapted from GitLab](https://about.gitlab.com/handbook/product-development-flow) - provides a quick overview of a requirement and includes four main sections as well as two supplemental sections:
One of the main artifacts used in the evaluation phase is the Opportunity Canvas. The Opportunity Canvas - [slightly adapted from GitLab](https://handbook.gitlab.com/handbook/product/product-processes/#product-development-flow) - provides a quick overview of a requirement and includes four main sections as well as two supplemental sections:
**<u>Main sections:</u>**
@@ -89,7 +89,7 @@ splice = (s, c, ...y) => x => [...x.slice(0, s), ...y, ...x.slice(s + c)];
* In Javascript, Objects can be [edited by reference](https://javascript.info/object-copy), opening the door to unpredictable mutations that can have unintended effects on other parts of the app.
* Makes code easier to understand because data changes become explicit and obvious.
* Avoids a set of [hard to detect bugs](https://2ality.com/2019/10/shared-mutable-state.html).
* Avoids a set of hard to detect bugs
* Enables unidirectional data flow.
* Enables performance improvements through ChangeDetectionStrategy.OnPush
@@ -148,7 +148,7 @@ To reduce server requests, side effects **should be** be calculated in the front
Angular also follows the unidirectional data flow pattern in the view to improve the performance and simplify the state distribution:
* When the state could have been updated (an async operation happens), Angular performs [Change Detection](https://indepth.dev/posts/1058/a-gentle-introduction-into-change-detection-in-angular) in one way, from top to bottom, from the root component all the tree down checking every child component for changes.
* When the state could have been updated (an async operation happens), Angular performs change detection in one way, from top to bottom, from the root component all the tree down checking every child component for changes.
* Every component that receives state updates (@Input, Services, UI...), updates itself, renders its view and then triggers Change Detection for its child components.
* If the children would trigger state changes up to the parent (bidirectional data flow (two way data binding)), the parent should update itself and then trigger Change Detection for the children, which could trigger changes up to the parent… causing a loop.
* This is why unidirectional data flow is enforced in development mode (ExpressionChangedAfterItHasBeenCheckedError) and encouraged in the Components Architecture.
@@ -282,5 +282,5 @@ Clean code is easily readable, understandable, changeable, extensible, scalable
Do follow BEM directives:
* [https://en.bem.info/methodology/css/](https://en.bem.info/methodology/css/)
* [https://en.bem.info/methodology/html/](https://en.bem.info/methodology/html/)
* <https://bem.info/en/methodology/css/>
* <https://bem.info/en/methodology/html/>
@@ -44,4 +44,4 @@ Click the link in the email to get directed to your installation. If you are mem
Watch this video about sign in and registration:
<video src="https://openproject-docs.s3.eu-central-1.amazonaws.com/videos/OpenProject-Sign-in-and-Registration-2.mp4"></video>
[Video](https://openproject-docs.s3.eu-central-1.amazonaws.com/videos/OpenProject-Sign-in-and-Registration.mp4)