سلیقه تو برنامهنویسی با AI کجا مهمتر میشه؟
خلاصهٔ کاملتر
وقتی دستی کد مینویسی، کلی تصمیم سلیقهای رو بدون اینکه بفهمی میگیری: اسم متغیر، اینکه یه تابع داره زیادی بلند میشه، یا اینکه دو تا حالت در اصل یکیان. Jared Palmer، معاون مهندسی Cognition (شرکت سازندهٔ Devin)، میگه این تصمیمها با سرعت تایپ گرفته میشن که کنده، و همین کندی جلوی خسارت سلیقهٔ بد رو هم میگیره. ابزارهای کدنویسی AI این کندی رو برداشتن و حالا چند صد خط کد قابلقبول زودتر از اینکه بخونیش آمادهست.
جواب اولیه اینه که سلیقه تبدیل به فیلتر میشه: مدل پیشنهاد میده و تو قضاوت میکنی. نویسنده قبول داره که این خودش سلیقه رو مهمتر میکنه. چون حالا خیلی بیشتر از قبل کد میخونی و قضاوت کردن از نوشتن سختتره. وقتی خودت مینویسی میدونی هر خط چرا اونجاست، ولی کد بقیه رو باید دوباره تو ذهنت بسازی. سختترین کد برای بررسی هم کدیه که ظاهرش درسته، چون چیزی وادارت نمیکنه مکث کنی.
ولی به گفتهٔ نویسنده این دید بخش بزرگتر رو جا میندازه. وقتی به مرحلهٔ review میرسی، تصمیمهای اصلی گرفته شدن: چی بسازی، چطور تقسیمش کنی و چی رو کنار بذاری. اگه چیز اشتباهی بخوای، مدل همون چیز اشتباه رو خوب میسازه. مثالش اینه: اگه یه caching layer بخوای در حالی که مشکل واقعی اینه که یه داده رو از سه جا fetch میکنی، یه کش تمیز تحویل میگیری. در حالی که چیزی که لازم داشتی حذف دو تا از اون fetchها بود.
آیا خود مدلها سلیقه پیدا نمیکنن؟ نویسنده فکر میکنه تو یه نوع سلیقه خیلی خوب میشن: idiomهای زبانها رو از بیشتر برنامهنویسها بهتر بلدن و قضاوت محلی، مثل «این loop باید map باشه» یا «این اسم گمراهکنندهست»، از روی نمونههای زیاد یاد گرفته میشه. چیزی که از نمونه یاد گرفته نمیشه، شناخت مسئلهٔ خاص توئه. یعنی اینکه کدوم پیچیدگی ذاتیه و کدوم اتفاقی، کاربرها واقعاً چیکار میکنن، و کدوم بخش سیستم سال بعد عوض میشه. این دانش بیشتر پیش آدمهاییه که صاحب برنامهان.
نتیجهای که نویسنده میگیره اینه که تشخیص کد تمیز از کد شلوغ هنوز به درد میخوره، ولی داره به بخشی تبدیل میشه که ابزارها توش کمک میکنن. دونستن اینکه برنامه قبل از نوشته شدن چه شکلی باید داشته باشه، فعلاً کاریه که ابزارها نمیتونن جات انجام بدن و بیشترین اثر رو هم داره، چون هر خطی که مدل مینویسه از همون ارث میبره.
پس شاید بهترین راه برای بهتر شدن تو کدنویسی با AI این باشه که بیشتر به مسئله فکر کنی تا به prompt. خودش میگه مطمئن نیست این حرف تا کجا درسته، ولی اگه قرار بود شرط ببنده، روی برنامهنویسهایی شرط میبست که از قبل میدونستن چی میخوان.
نکات کلیدی:
- ابزارهای AI کندی تایپ رو حذف کردن، که قبلاً جلوی خسارت تصمیمهای بد رو میگرفت.
- review کد بقیه از نوشتنش سختتره، مخصوصاً وقتی ظاهر کد درسته.
- مهمترین تصمیمها قبل از review گرفته میشن: چی بسازی، چطور تقسیمش کنی، چی رو کنار بذاری.
- مثال نویسنده: درخواست caching layer وقتی مشکل واقعی fetch تکراری از سه جاست.
- مدلها تو قضاوت محلی کد خوب میشن، ولی شناخت هدف و آیندهٔ برنامه پیش صاحبهای برنامهست.




