من خفه ام! بنابراین من در “حالت آسان” کد می نویسم.

حتی نمی توانم چپ چپ را به زبان بیاورم… و با این حال…
شاید تعجب کنید که چرا این را می گویم، اما دلیل اصلی این است: من فکر می کنم که به طور کلی “برنامه نویسی آسان است”. بنابراین، یا من واقعاً کار اشتباهی انجام می دهم یا شاید فقط با استفاده از “حالت آسان” تقلب می کنم؟
فکر کردن به آن خیلی زیاد است
بیایید با همه چیز شروع کنیم قبل از اینکه شروع به تایپ “سلام جهان” کنید.
هرچه بیشتر به رمزگشایی کد فکر کنید، کمتر می توانید برای کاری که کد واقعا انجام می دهد هزینه کنید.
من از VSCode استفاده می کنم و برخی از برنامه های افزودنی را که استفاده می کنم نشان خواهم داد، احتمالاً بیشتر IDE های بزرگتر دارای آن یا موارد مشابه هستند. من همچنین فول استک هستم و معمولاً فقط با JS/TS کار میکنم، بنابراین برنامههای افزودنی را برای جلو و پشت و/یا JS/TS نشان میدهم، اما مگر اینکه از زبان باطنی استفاده کنید (یا شاید زبان جدیدی ایجاد کنید) احتمالاً پسوندهایی برای آن زبان خواهید داشت.
توابع، ثابت ها، متغیرها و کلاس ها کدامند؟
هر وقت کد را باز میکنم، با تنظیماتم، فوراً میدانم تابع، const، کلاس چیست… در مورد من، دراکولا این کار را انجام میدهد.
اما موضوعاتی وجود دارند که چنین تمایزی ایجاد نمی کنند و وقتی همه چیز “یک رنگ” است، به این معنی است که شما باید واقعا فکر کنید و بدانید کدام کدام است.
رنگ های دیگر و چیزهای مرتبط
من همچنین از گزینه براکت های رنگی استفاده می کنم (قبل از اینکه از یک پسوند برای آن استفاده کنم) زیرا به من نشان می دهد که دقیقاً کجا شروع می شود و کجا پایان می یابد، همراه با Indent Rainbow.
سپس اگر به چندین فضای کاری باز (مثلاً: جلو و عقب) نیاز دارید، Peacock را خواهید داشت. و اگر به چندین فضای کاری نیاز دارید (یا پروژه های زیادی دارید)، احتمالاً مدیر پروژه را می خواهید.
برای HTML و JSX، تگ تکمیل خودکار همیشه جزء اصلی است که اخیراً به VSCode اضافه شده است، بنابراین یک پسوند کمتر است… اما تگ تطبیق برجسته هنوز مفید است.
نظرات مهم هستند و نظرات بهتر آن را تا زمانی که آن را دنبال می کنید برجسته می کنند. و از آنجایی که ما از آن برای “TODOs” استفاده می کنیم، پس Todo Tree به شما کمک می کند همه آنها را به خاطر بسپارید.
کد را چگونه می نویسی؟
پرز و قالب بندی ضروری است! این به معنای ESLint و زیباتر است.
Trailing Spaces را فراموش نکنید زیرا در حالی که ممکن است شما آنها را نبینید، کسی آنها را می بیند (شاید git … و در یک فایل بدون هیچ تغییر دیگری …).
اما بعد از آنها، من SonarLint را هم دارم که چیزهای دیگری را میگیرد و حتی با هر پروژهای، حتی پروژههای قدیمی که واقعاً نمیتوانید بفهمید چگونه از پرز بدون خرابی استفاده کنید، کار میکند (سلب مسئولیت: من شکایت نمیکنم) … اما هر تصادفی کاملاً مشابه است).
شما همچنین دارای ax Accessibility Linter هستید که برخی از اشتباهات خام و همچنین جستجوگر املای کد را پیدا می کند زیرا می دانید که … اشتباهات خفن اتفاق می افتد.
و CodeMetrics برای بررسی اینکه آیا توابع شما بیش از حد پیچیده شده اند یا خیر (اعداد را مطابق میل خود تنظیم کنید، به خصوص قوانین JSX).
و در نهایت، پسوندی که باعث می شود فکر کنید به اندازه من احمق هستید: Error Lens. من نمی توانم به اندازه کافی تاکید کنم که چقدر این مهم است. وقتی همه موارد دیگر را داشته باشید، این یکی کل صفحه نمایش شما را قرمز و نارنجی می کند و هر مشکلی را روی صورت شما می اندازد.
ابزار کار خود را بشناسید
من را شگفت زده می کند که مردم برای کار خود از VSCode استفاده می کنند و به آن وابسته هستند و حتی حوصله خواندن تغییرات ابزار کار خود را به خود نمی دهند. من حتی نمی گویم ماکروها، سیم ها، و میانبرهای دیگر. من می گویم که اساساً هر ماه آنها ویژگی های جدیدی را منتشر می کنند و مردم فقط به خود زحمت نمی دهند یاد بگیرند که چه چیزی تغییر کرده است.
باز هم من خفه ام! من معمولاً فقط برای خیلی چیزها با مرکز فرماندهی تماس میگیرم… اما… میدانم چه کاری میتوانم انجام دهم و همیشه در مورد گزینههایی یاد میگیرم که باعث میشوند کمتر و کمتر به چیزهایی که مهم نیستند فکر کنم.
با همه این موارد… حالت آسان!
تنها چیزی که باقی می ماند تنها کاری است که خود کد انجام می دهد.
بسیاری از چیزها که لازم نیست به آنها فکر کنم زیرا Error Lens هشدار یا خطایی را دریافت کرد که یک برنامه افزودنی دیگر پیدا کرد، بنابراین تنها کاری که باید انجام دهم این است که در مورد قوانین تجاری و نحوه پیاده سازی آنها در کد فکر کنم.
Code Metrics یکی دیگر از مواردی است که به این امر کمک می کند زیرا به شما نشان می دهد که کجا توابع بیش از حد پیچیده می شوند. شما در حین نوشتن آن، ممکن است فکر کنید که “آسان” است، اما خود فرورفته شما یک ماه بعد نمی داند که در آن زمان به چه چیزی فکر می کردید.
حافظه بد شما را به یک توسعه دهنده عالی تبدیل می کند
واقعا!
من برای چیزهای بیهوده و چیزهای بی اهمیت حافظه خوبی دارم، اما وقتی صحبت از کارهایی که هفته گذشته انجام می دادم یا با چیزهایی که دارم با آنها کار می کنم … دور از چشم، دور از ذهن است.
با دانستن اینکه مطمئن می شوم که کد را به گونه ای می نویسم که خود ناامید آینده ام درک خواهد کرد.
حتی در آن صورت گاهی اوقات یک قطعه کد پیدا می کنم که باید چند دقیقه وقت بگذارم تا بفهمم چه کاری انجام می دهد… آیا کاری را که نیاز دارم انجام می دهم و آن را یک روز می نامم؟ نه!
زمانی که مجبور می شوم زمانی را صرف فکر کردن در مورد آنچه در حال وقوع است بگذرانم، پس واضح است که زمان آن فرا رسیده است که قبل از اینکه دوباره آن را فراموش کنم، در مورد چیزهایی که اخیراً یاد گرفته ام اظهار نظر کنم. این یک سرمایهگذاری است، شما قبلاً زمان صرف کردهاید و احمقانه خواهد بود که بدبخت بعدی (شاید شما) دوباره همه اینها را مرور کنید.
صبر کن فقط همین؟
من از پس زمینه CS نیستم، من با بهینه سازی صفحات گسترده اکسل “شروع” کردم، سپس یک VBA نه چندان عالی برای کلاس Access داشتم و یادم می آید از معلم چیزی مانند “صبر کن، می توانی انجام دهی” پرسیدم. حتی بازیهایی که فقط با انتساب، حلقهها و اگرها هستند؟».
و اینگونه شروع کردم!
حالت سخت واقعی
در مصاحبهها وقتی در مورد بزرگترین چالشها از من سؤال میشود، همیشه دوست دارم بگویم: «مردم».
زیرا ندانستن آنچه میخواهند یا به اشتباه فکر میکنند که به چیزی نیاز دارند، همیشه چالش بزرگتری نسبت به چیزهای فنی است.
بسط آن این است که بزرگترین مشکل «فنی» که من از آن رنج میبرم، یکپارچهسازی موارد است، معمولاً به این دلیل که اسناد، در صورت وجود، کافی نیستند یا گاهی اوقات آنقدر قدیمی هستند که دروغ است.
مرزهای بین “کد ما” و “کد دیگران” همیشه بزرگترین چالش خواهد بود و به همین دلیل است که خفه بودن باعث میشود به راههایی فکر کنم که بتوانم کار را برای دیگران آسانتر کنم، خواه نامگذاری بهتر مطالب، اظهار نظر یا حفظ اسناد خوب.
من برنامه های افزودنی بیشتری نصب کرده ام و احتمالاً تنظیمات بسیار بیشتری وجود دارد که هر روز به من کمک می کند … اگر احساس می کنید چیزی را فراموش کرده ام یا توصیه ای دارید، آن را در نظرات بگذارید!
و البته… اگر با دیدن “خمیده” به عینک و کتابدار فکر کردید، پس حق با شماست. =]