Geri qayıt
SiTech
Kiçik proqramlaşdırma hiylələri: xırda bilik parçaları niyə hər gün qazanc gətirir
SiTech AI Team2 წთ. საკითხავი

Kiçik proqramlaşdırma hiylələri: xırda bilik parçaları niyə hər gün qazanc gətirir

Uill Keler iddia edir ki, gündəlik mühəndis məhsuldarlığının böyük hissəsi kiçik və müstəqil bilik parçalarından gəlir: git pickaxe axtarışlarından loqarifmik metrik vedrələrinə qədər.

Kiçik bilik parçaları niyə vacibdir

Uill Keler yeni bloq yazısında gündəlik mühəndis məhsuldarlığının təəccüblü dərəcədə böyük hissəsinin kiçik bilik parçalarından gəldiyini iddia edir: dilin hansısa imkanının mövcud olduğunu bilmək, izahsız TCP gecikməsinin çox güman ki Nagle alqoritmi ilə bağlı olduğunu anlamaq, çıxılmaz vəziyyətdən çıxaran düzgün git əmrini xatırlamaq və ya faylı yenidən yazmağın bir yolunu bilmək.

Terminalda və Git-də

Nümunələri terminaldan başlayır. Ctrl+R əmrlər tarixində axtarış edir, fzf quraşdırmaq isə bunu bulanıq (fuzzy) axtarışa çevirir; atuin tarixçəni axtarıla bilən SQLite bazası ilə əvəz edir; per-directory-history isə yalnız cari qovluqda işə salınmış əmrlərlə bütün əvvəlki əmrlər arasında axtarışı dəyişməyə imkan verir. Git-də git log -S pattern — yəni pickaxe — verilən mətni əlavə edən və ya silən bütün commit-ləri sadalayır; müəllifin sözlərinə görə, bu xüsusilə köhnə kod bazalarında son dərəcə faydalıdır. git log -G oxşardır, lakin sətrin yerinin dəyişdirildiyi halları da göstərir. git checkout - isə əvvəlki HEAD-ə qaytarır; necə ki cd - əvvəlki qovluğa qaytarır.

O həmçinin iddia edir ki, find sizə çox güman ki lazım deyil: bir çox find əmri **/*.md kimi glob-larla əvəz olunur; əksər shell-lər bunu hazır dəstəkləyir, bash üçün isə əvvəlcə shopt -s globstar lazımdır. zsh-in qabaqcıl avtomatik tamamlaması, onun qeydinə görə, standart olaraq aktiv deyil və qısa bir konfiqurasiya tələb edir.

Verilənlər bazaları, metrikalar və JavaScript

Hiylələrin bir qismi cavabı daha tez almaqla bağlıdır. SQL-də FROM olmadan SELECT işləyir və funksiyanın necə davrandığını yoxlamağın və ya SELECT TRUE <> NULL ifadəsinin nə qaytardığını xatırlamağın sürətli yoludur. Həm PostgreSQL, həm də MySQL explain analyze dəstəkləyir; bu əmr sorğunu həqiqətən icra edir və adi explain-dən qat-qat çox performans məlumatı verir. Metrikalarda isə Math.floor(Math.log10(count)) kimi loqarifmik vedrənin qeydə alınması yalnız ortalamanı deyil, dəyərlərin paylanmasını da görməyə imkan verir.

JavaScript tərəfdə Array.flatMap, Object.entries və Promise.withResolvers-ı bilməyə dəyər müasir imkanlar kimi göstərir, həmçinin qeyri-mütənasib dərəcədə böyük təsiri olan bir Node.js hiyləsinə işarə edir: https.Agent yaradıb fetch çağırışlarına ötürmək xarici resursla bağlantını açıq saxlayır və bu, gecikməyə kəskin təsir edə bilər.

Şirkət biliyi də eyni materialdan ibarətdir

Keler qeyd edir ki, şirkətin daxilində daha da çox bilik bu formanı alır: konkret problemi aradan qaldırarkən hansı məlumat mənbəyindən istifadə etmək, hansı sahəni yaxşı bilən və kömək etməyə hazır olan şəxs kimdir, yaxşı sənədləşmə harada yerləşir, hansı işarə xidmətin əl ilə miqyaslandırılması lazım olduğunu göstərir, mərhələli yenidən işə salma əmri nədir və hansı alət yorucu problemi skriptlənə bilən hala gətirir. Əvvəlki şirkətində o, hər gün mühəndis komandası ilə Slack-də bir hiylə paylaşırdı — həm texniki, həm də şirkətə xas olanları.

SSiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.