کتاب های برچسب coding
تاریخ: ۱۲:۳۸:۱۸ ۱۳۹۸/۵/۱۱ جمعه
توسط: MotoMan
امتیاز: ۲
برچسب ها: Coding |

در دهه ۱۹۹۰، ما با شرکتهایی کار کردیم که پروژه هایشان مشکل داشت. بعد از مدتی به این نتیجه رسیدیم که به همه‌ی آن‌ها یک سری چیز‌های یکسان را داریم می‌گوییم: شاید باید قبل از اینکه آن را تحویل می‌دادید، تستش می‌کردید؛ چرا کد فقط بر روی سیستم «ماری» بیلد می‌شود؟ چرا هیچکس از کاربران نمی‌پرسد؟

برای اینکه در ارتباط با مشتریان جدید خود وقت صرفه جویی کنیم، شروع به یادداشت برداری کردیم و آن یادداشت‌ها تبدیل به کتابی به نام The Pragmatic Programmer شد. در کمال تعجب ما، به نظر می‌رسید که این کتاب درد مشترکی را بیان می‌کرد و در این ۲۰ سال گذشته نیز محبوب باقی مانده است.

اما ۲۰ سال در دنیای نرم افزار، به معنی چند بار زندگی کردن است. برای مثال یک توسعه دهنده را از سال ۱۹۹۹ بردارید و آن را امروز داخل یک تیم قرار دهید و خواهید دید که چگونه در این دنیای جدید عجیب و غریب تقلا می‌کند. اما دنیای دهه ۱۹۹۰ برای توسعه دهندگان امروزی کاملا بیگانه است. نسخه قبلی کتاب به چیزهایی مانند CORBA، CASE tools و indexed loops اشاره کرده بود که در بهترین حالت عجیب و گیج کننده بودند.

بنابراین وقتی زمان نوشتن ویرایش بیستمین سالگرد رسید، ما باید تصمیمی می‌گرفتیم. ما می‌توانستیم تکنولوژی هایی که به آن‌ها اشاره کرده ایم را به روز کنیم، یا با توجه به دو دهه تجربه دیگری که به دست آورده ایم، فرضیات پشت روشهایی را که توصیه کرده ایم مجددا بررسی کنیم. در نهایت ما هر دو کار را انجام دادیم.

در نتیجه، این کتاب چیزی از «کشتی تسئوس» است. تقریباً یک سوم مباحث موجود در کتاب کاملاً جدید است. بقیه مطالب، اکثریت به صورت کلی یا جزئی بازنویسی شده اند. هدف ما این بود که مطالب را واضح‌تر ، مرتبط‌تر و امیدوارم تا حدودی بدون تاثیر از زمان بکنیم.

ما با توجه به وفور فعلی سخت افزار موازی و کمبود راه‌های خوب برای کار با آن ها، موضوعات مرتبط به همزمانی را بازنویسی کردیم. در این ویرایش ما مطالبی را اضافه کردیم تا تغییرات در نگرش‌ها و محیط‌ها از جنبش چابک که ما در راه اندازی آن کمک کردیم تا افزایش پذیرش اصطلاحات برنامه نویسی تابعی و نیاز رو به رشد در نظر گرفتن حریم و خصوصی و امنیت را منعکس کنیم.

جالب اینجاست که، در مورد محتوای این نسخه، بحث و گفتگوی کمتری وجود داشت تا زمانی که نسخه اول آن را می‌نوشتیم. هر دوی ما احساس کردیم که چیزهای که مهم بودند آسان‌تر شناسایی شدند.

تعداد بازدید: ۲۴۰
دیدگاه ها: ۰
تاریخ: ۲۰:۲:۲۵ ۱۳۹۸/۴/۲۰ پنج شنبه
توسط: MotoMan
امتیاز: ۱

برنامه نویسی کامپیوتر انتزاعی نیست و برنامه‌ها بر روی یک ماشین اجرا می‌شوند. دانستن این که کامپیوتر‌ها چگونه کار می‌کنند و برنامه‌ها به چه شکل بر روی آن‌ها اجرا می‌شوند، برای این که برنامه نویس بهتری شوید، ضروری است. همچنین درک تکنولوژی‌های پایه می‌تواند به شما کمک کند تا وقتی که چیزی درست کار نمی‌کند از آن سر در آورید.

کتاب Secret Life of Program یا Foundations of Computer Programming سابق، شکاف‌های موجود در آموزش کامپیوتر را با نشان دادن آن چه در پشت صحنه برنامه نویسی در سطح ماشین رخ می‌دهد، پر می‌کند. خوانندگان این کتاب یاد می‌گیرند که نرم افزار وقتی که بر روی سخت افزار اجرا می‌شود چگونه رفتار می‌کند؛ چگونه برنامه‌ها داده‌ها را در حافظه دستکاری می‌کنند؛ چگونه کامپیوتر‌ها زبان‌ها را پردازش می‌کنند و این که مرورگرهای وب چگونه کار می‌کنند. در این کتاب همچنین یاد خواهید گرفت که چگونه برنامه‌های کارآمد بنویسید و مبانی امنیت کامپیوتر و ملاحظاتی که هنگام کد نویسی باید در ذهن داشته باشید را رعایت کنید.

تعداد بازدید: ۲۰۱
دیدگاه ها: ۰
تاریخ: ۲۰:۲۷:۲۷ ۱۳۹۸/۴/۵ چهارشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

دوره‌های رایج برنامه نویسی، رویکرد «سرهم بندی کن تا وقتی که کار می‌کند» را آموزش می‌دهند. هنگامی که کار می‌کند، دانشجویان فریاد می‌زنند که «کار می‌کنه!» و ادامه می‌دهند. متاسفانه، این عبارت کوتاه‌ترین دروغ در کامپیوتر نیز است و ساعت‌های زیادی از عمر آدم‌ها را صرف خود کرده است. در مقابل، کتاب نحوه طراحی برنامه ها، بر روی عادت‌های خوب برنامه نویسی کردن تمرکز کرده است که برنامه نویسان فنی و حرفه ای را مخاطب قرار داده است.

تعداد بازدید: ۳۰۱
دیدگاه ها: ۰
تاریخ: ۲۲:۲۹:۴۲ ۱۳۹۸/۱/۲۹ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

شما در حال حاضر کد نویسی عالی هستید، اما همیشه فقط کد نویسی عالی برای هدایت کردن شما در پروژه‌های سخت کافی نیست. شما به این ۵۰ تا دانش و حکمت نیاز دارید. برنامه نویسان کهنه کار: اشتیاق خود را برای توسعه‌ی برنامه‌های وب تقویت کنید. برنامه نویسان تازه کار: این کتاب راهنمایی است که برای شروع به آن احتیاج دارید. با این کتاب شما در مورد کار خود با شیوه ای جدید و مدرن فکر خواهید کرد.

کتاب The Developer's Code درباره‌ی کدی که می‌نویسید نیست، بلکه درباره کدی است که با آن زندگی می‌کنید.

شما خواهید دید که چطور حتی در طولانیترین پروژه‌ها پر حاصل باشد. شما گردش کاری ایجاد می‌کنید که برای شما کار می‌کند نه بر علیه شما. و شما یاد خواهید گرفت که چگونه با مشتریانی که اهدافشان با شما هماهنگ نیست برخورد کنید.

تعداد بازدید: ۴۲۳
دیدگاه ها: ۰
تاریخ: ۲۱:۵۰:۳۸ ۱۳۹۸/۱/۲۴ شنبه
توسط: MotoMan
امتیاز: ۱

در صنعت، اغلب از Legacy Code به عنوان اصطلاحی برای کدی که تغییرش سخت است و ما آن را نمی‌فهمیم استفاده می‌شود. اما من پس از سال‌ها کار با تیم‌های مختلف و کمک کردن به آن‌ها در رفع کردن مشکلات جدی کد هایشان، به تعریف متفاوتی دست یافتم.

از نظر من Legacy Code، کدی است که فاقد تست است. چند دلیل نیز برای این تعریف خودم دارم. تست‌ها چه ربطی به بد بودن کد دارند؟ از نظر من پاسخ بدیهی است و این نکته ای است که در این کتاب می‌خواهم آن را بیان کنم:

کد بدون تست، کد بدی است. اهمیتی ندارد که چقدر خوب نوشته شده باشد یا چقدر زیبا و شی گرا یا به خوبی کپسوله سازی شده باشد. با داشتن تست‌ها است که ما می‌توانیم رفتار کد را به سرعت و به طرز صحیحی تغییر دهیم. بدون آن‌ها ما واقعا نمی‌دانیم که آیا کد بهتر شده یا بدتر شده است.

تعداد بازدید: ۴۵۰
دیدگاه ها: ۰
تاریخ: ۱۵:۳۸:۱۸ ۱۳۹۷/۱۲/۱۷ جمعه
توسط: MotoMan
امتیاز: ۲
برچسب ها: Coding |

شما می‌توانید راننده‌ی فوق العاده ای باشید از این نظر که می‌دانید چگونه ماشین را کنترل کنید، به امنیت مسافران توجه کنید و همه‌ی قوانین رانندگی را رعایت کنید. اما این که چگونه به سریع‌ترین شکل ممکن از نقطه‌ی A به نقطه‌ی B برسید، مبحث متفاوتی است.

برنامه نویسی نیز به همین شکل است. شما می‌توانید برنامه نویسی عالی با سال‌ها تجربه باشید یا حتی شاید در این رشته تازه کار باشید. این مهم نیست که چند تا زبان برنامه نویسی بلد هستید، این که در زمان کمتری کار بیشتری انجام دهید مهارت متفاوتی است و این موضوعی است که در این کتاب قرار است یاد بگیرید.

تعداد بازدید: ۴۹۱
دیدگاه ها: ۰
تاریخ: ۱۷:۱۹:۲۸ ۱۳۹۷/۱/۵ یکشنبه
توسط: MotoMan
امتیاز: ۷

حتی کد بد هم می‌تواند کار کند، اما اگر تمیز ننوشته شده باشد می‌تواند سازمان دهی پروژه را به زانو در آورد. هر ساله ساعت‌های بی شماری و منابع قابل توجهی به خاطر کیفیت پایین کد‌ها از بین رفته اند؛ اما نباید این گونه باشد.

متخصص مشهور نرم افزار Robert C. Martin، الگویی انقلابی در کتاب Clean Code: A Handbook of Agile Software Craftsmanship ارائه داده است. مارتین با همکاری همکارانش در شرکت Object Mentor، بهترین شیوه‌های چابک تمیز سازی کد را استخراج کرد و آن‌ها را  تبدیل به کتابی کرد که در آن ارزش‌های یک متخصص را به شما یاد می‌دهد و شما را تبدیل به برنامه نویسی بهتر می‌کند؛ البته فقط وقتی که بر روی آن‌ها کار کنید.

چه نوع کاری شما انجام خواهید داد؟ شما کد خواهید خواند، خیلی خیلی زیاد. شما به چالش کشیده خواهید شد تا در مورد موارد صحیح آن کد و اشکالاتش فکر کنید. از همه مهمتر شما به چالش کشیده خواهید شد تا ارزش‌های حرفه ای و تعهد خودتان را به حرفه خود را مورد ارزیابی مجدد قرار دهید.

کتاب Clean Code به سه بخش تقسیم شده است. بخش اول اصول، الگو‌ها و شیوه‌های نوشتن کد تمیز را شرح می‌دهد. بخش دوم متشکل از چندین مورد مطالعاتی در مورد افزایش پیچیدگی است. هر مورد یک تمرین تمیز سازی کد است که تبدیل اساس یک کد که دارای تعدادی مشکل است به کدی کارامد و بدون ایراد است. قسمت سوم نتیجه گیری نهایی است. یک فصل مجزا که فهرستی از اکتشافات و بوهایی (smells) است که در ضمن ایجاد موارد مطالعاتی جمع آوری شده اند.

مواردی که در این کتاب خواهید فهمید عبارتند از:

  • چگونه می‌توان تفاوت بین کد خوب و بد را بیان کرد
  • چگونه می‌توان کد خوب نوشت و کد بد را به کد خوب تبدیل کرد
  • چگونه خوب نام گذاری کنیم، توابع خوب، اشیا خوب و کلاس‌های خوب ایجاد کنیم
  • چگونه به کد فرمت بدهیم تا به حداکثر خوانایی ممکن برسیم
  • چگونه مدیریت خطای کاملی بدون مبهم کردن منطق کد را پیاده سازی کرد
  • چگونه آزمون واحد انجام داد و توسعه آزمون محور را تمرین کرد
تعداد بازدید: ۵۰۲۲
دیدگاه ها: ۱
تاریخ: ۱۴:۱۸:۱۴ ۱۳۹۷/۱/۴ شنبه
توسط: MotoMan
امتیاز: ۵
برچسب ها: Coding | Refactoring |

کتاب 101 شیوه‌ی بد برنامه نویسی با بر عکس کردن رویکرد معمول، لحنی طنز آمیز در آموزش شیوه‌های برنامه نویسی در پیش گرفته است. این کتاب با تظاهر کردن به آموزش این که شما چگونه به بدترین برنامه نویس جهان که معمولا باعث آشوب می‌شود تبدیل شوید به شما یاد خواهد داد که چگونه از این گونه عادت‌های بد برنامه نویسی که سبب ایجاد باگ‌ها یا رد شدن کد‌های به اشتراک گذاشت شده می‌شوند دوری کنید.

چرا وقتی می‌توانید میمونی آشوب گر (chaos monkey) باشید بخواهید یک code monkey باشید؟ خیلی خوب؛ شما می‌خواهید که برنامه نویسی افتضاح باشید. شما می‌خواهید کدی بنویسید که به شدت در بازبینی‌ها رد شود. شما دنبال خواندن بازخورد هایی هستید که پر شده از کامنتهایی مثل "چه افتضاحی؟" (?WTF). بهتر از این حتی شما درباره‌ی تغییرات پر از باگتان که دزدکی وارد کد‌ها کرده اید خیال بافی می‌کنید و باعث ایجاد فاجعه‌های بی حد و حساب می‌شوید. شما می‌خواهید که برای خود به عنوان کسی که کد‌های آشغال خنده دار، کثیف و مستعد خطا می‌نویسد و باعث وحشت همکارانتان می‌شود اعتباری دست و پا کنید. کتاب 101 شیوه‌ی بد برنامه نویسی به شما کمک می‌کند تا با یاد گرفتن آرایه ای از عادت‌های بد برنامه نویسی که به شما امکان ایجاد آشوب را می‌دهند، شما زودتر به هدفتان برسید.

به جای این کار شما می‌توانید از این کتاب استفاده کنید تا آن عادت‌های بد را شناسایی کرده و یاد بگیرید که از آن‌ها دوری کنید. این شیوه‌های بد برنامه نویسی بر اساس اصول برنامه نویسی ( layout، متغیر ها، حلقه ها، ماژول‌ها و ...) به سرفصل‌ها دسته بندی شده اند. این را باید اظهار کرد که برای برنامه نویس خوبی شدن، شما ابتدا باید 10000 خط، کد بد بنویسید تا همه‌ی آن‌ها را از ذهنتان بیرون کنید. با یادگیری در مورد عادت‌های بد برنامه نویسی، شما شیوه‌های خوب برنامه نویسی را یاد خواهید گرفت. علاوه بر این شما انگیزه ای که در پشت هر شیوه ای که بیان شده است را درک خواهید کرد؛ بنابر این شما یاد خواهید گرفت که چرا این شیوه خوب است و فقط یک لیست ساده از قوانین را نخواهید دید.

تعداد بازدید: ۱۵۱۸
دیدگاه ها: ۱
تاریخ: ۱۱:۴۰:۳۶ ۱۳۹۳/۵/۲۴ جمعه
توسط: MotoMan
امتیاز: ۱۵
برچسب ها: Coding |

برنامه نویسانی که بردبار هستند و  در بحبوبه‌ی فشارهای بی پایان موفق هستند یک ویژگی مشترک دارند: آن‌ها به شدت به نوشتن نرم افزار اهمیت می‌دهند. آن‌ها آن را به عنوان یک مهارت و هنر در نظر می‌گیرند و این است که سبب می‌شود به آن‌ها حرفه ای بگوییم.
در کتاب The Clean Coder: A Code of Conduct for Professional Programmers ، برنامه نویس با سابقه و حرفه ای Robert C. Martin  (عمو باب خودمون D: ) ، نظم و انضباط، تکنیک ها، ابزارها و  شیوه‌های ساخت یک نرم افزار واقعی را بیان می‌کند. در این کتاب  مشاوره‌های کاربردی در مورد همه چیز از تخمین زدن و کدنویسی تا refactoring و تست کردن بیان شده است. در این کتاب بیشتر از تکنیک‌ها پوشش داده  شده است و خیلی از نگرش‌ها بیان شده است. Martin نشان می‌دهد که چگونه می‌توان توسعه نرم افزار را همراه با احترام، عزت نفس و افتخار انجام داد؛ خوب و تمیز کار کنیم؛ صادقانه ارتباط داشته باشیم و تخمین بزنیم؛ تصمیمات سخت بگیریم و بفهمیم که هرچقدر دانش بیشتری داشته باشیم مسئولیت بیشتری نیز بر دوش داریم.

 

تعداد بازدید: ۵۸۴۰
دیدگاه ها: ۳
تاریخ: ۱۳:۲۱:۲۹ ۱۳۹۳/۵/۶ دوشنبه
توسط: MotoMan
امتیاز: ۵
برچسب ها: Coding |

این کتاب به شما کمک می‌کند تا برنامه نویس بهتری شوید. اصلا مهم نیست که یک برنامه نویس مستقل هستید و یا اینکه عضوی از یک تیم بزرگ هستید و یا اینکه همزمان به تعداد زیادی مشتری مشاوره می‌دهید.این کتاب به شما کمک می‌کند تا کارهایتان را به شخصه بهتر انجام دهید. این کتاب تئوری نبوده و بر روی مباحث کاربردی تمرکز کرده است  تا بتوانید با استفاده از تجربه خودتان تصمیماتی آگاهانه بگیرید.

تعداد بازدید: ۳۱۶۰
دیدگاه ها: ۱
تاریخ: ۱۴:۲۴:۵۳ ۱۳۹۳/۱/۵ سه شنبه
توسط: punsher2011
امتیاز: ۱۸
برچسب ها: Coding |

همیشه خوندن کد‌های نوشته شده توسط دیگران مشکل‌تر از نوشتن کد از نو است .

و مسئله ای که در کار تیمی بسیار مهم است ، اهمیت دادن به این موضوع است که ساده بودن برنامه خیلی از مواقع بهره بری خیلی بالاتری نسبت به امکانات بیشتر و استفاده بیشتر از یک کتابخانه یک pattern یا یک مدل جدید داره ، بخاطر اینکه ادامه‌ی کار و درک برنامه توسط دیگر اعضای گروه خیلی مهم هست .

امروز قصد دارم کتابی رو بهتون معرفی کنم که راجع بهترین روش و کاملترین روش برای کد زنی مطرح میکنه و نویسنده‌ی این کتاب آقای Steve McConnell مطرح میکنه که :

Software’s Primary Technical Imperative has to be managing complexity

" اولین اولویت الزامی طراحی باید مدیریت پیچیدگی باشد " .

این کتاب مشهور ، سالیان ساله که به خیلی از برنامه نویسان و دولوپر‌ها در زمینه‌ی طراجحی نرم افزار کمک کرده است .

تعداد بازدید: ۵۹۵۲
دیدگاه ها: ۲
تاریخ: ۷:۲۲:۳۴ ۱۳۹۲/۱۰/۸ یکشنبه
توسط: MotoMan
امتیاز: ۱۱

Test-driven, test-first, and test-early development practices are helping thousands of software development organizations improve their software. Now, in Quality Code: Software Testing Principles, Practices, and Patterns, Stephen Vance builds on all that’s been learned about test-driven development, helping you achieve unprecedented levels of first-time quality. Using real-world code examples, this guide introduces patterns, principles, and more than two dozen detailed techniques for testing any software system more fully, effectively, and painlessly. Vance presents a conceptual framework to help you focus your efforts and design recommendations for improving testability across the software lifecycle, and also provides hands-on guidance to simplify testing of the full spectrum of code constructs. You’ll learn how to choose the best testing techniques for every situation, from the most common scenarios to threading. Two complete case studies put it all together, walking you through testing a brand-new Java application and an untested “legacy” JavaScript jQuery plugin. Whether you’re developing cutting-edge code for a new start-up, or maintaining an unruly old system, this guide will help you deliver exactly what you need: quality code.

تعداد بازدید: ۳۶۳۸
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...