Dev Tips
Un trucchetto al giorno leva le complicazioni di torno! Piccole "scorciatoie" che possono facilitare la vita degli sviluppatori e far risparmiare tempo...e righe di codice.
Un trucchetto al giorno leva le complicazioni di torno! Piccole "scorciatoie" che possono facilitare la vita degli sviluppatori e far risparmiare tempo...e righe di codice.
2025-02-25
Scrivere codice è facile ma scrivere codice che ha senso è tutta un’altra storia. Creare un buon modello non significa solo scrivere classi e metodi: è un processo di comprensione profonda del dominio che permette di tradurre concetti complessi in codice chiaro e manutenibile. Il Knowledge Crunching è proprio questo: un processo continuo di collaborazione tra sviluppatori ed esperti di dominio, che ci aiuta a perfezionare i modelli del business e a tradurre le complessità del mondo reale in soluzioni software robuste e scalabili. Ecco come dovrebbe essere un blocco di codice con il Knowledge Crunching:
1class Order {
2 private lineItems: OrderLine[] = [];
3 private total: Money;
4 private status = OrderStatus.DRAFT;
5
6 constructor() {
7 this.total = new Money(0, 'EUR');
8 }
9
10 addProduct(product: Product, quantity: Quantity): void {
11 if (this.status === OrderStatus.CONFIRMED) {
12 throw new OrderAlreadyConfirmedError();
13 }
14
15 const lineItem = new OrderLine(product, quantity);
16 this.lineItems = [...this.lineItems, lineItem];
17 this.recalculateTotal();
18 }
19
20 private recalculateTotal(): void {
21 this.total = this.lineItems.reduce(
22 (sum, item) => sum.add(item.calculateSubtotal()),
23 new Money(0, 'EUR')
24 );
25 }
26}
2024-10-23
1// users.mjs
2const res = await fetch('https://jsonplaceholder.typicode.com/users');
3const users = res.json();
4export { users };
5
6//module.mjs
7import {users} from './users.mjs';
8
9console.log(users);
2024-07-22
1// Using requestIdleCallback for scheduling low-priority background tasks
2const idleCallback = () => {
3 // Perform background tasks
4 console.log('Background task executed');
5};
6
7window.requestIdleCallback(idleCallback);
2024-05-15
1.button {
2 border: 0;
3 padding: 10px;
4 box-shadow:
5 -2px -2px 5px gray,
6 2px 2px 5px gray;
7}
8
9@media (forced-colors: active) {
10 .button {
11 /* Use a border instead, since box-shadow is forced to 'none' in forced-colors mode */
12 border: 2px ButtonText solid;
13 }
14}
2024-04-05
1```
2const observer = new PerformanceObserver((list) => {
3 const entries = list.getEntries();
4 entries.forEach(entry => {
5 console.log(`Resource timing for ${entry.name}: ${entry.duration}ms`);
6 });
7});
8
9observer.observe({ entryTypes: ['resource'] });
10```
Hai in mente un progetto e vorresti realizzarlo?
Sei interessato a migliorare le competenze del tuo team in ambito di programmazione e sviluppo?
Oppure vuoi semplicemente prendere prendere un caffè con noi e vedere la nostra collezione di Action Figure, allora scrivici tramite questo form.
Se, invece, vuoi far parte del team, guarda le nostre offerte di lavoro.