یک قدم ساده برای القای احساس راحتی به توسعه دهنده

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 22 مهر 1397
دسته بندی ها : برنامه نویسی

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

اولین قانون مبارزه

همیشه زمان و مکان مناسبی برای اشاره به محصولات فرهنگی در کد خود وجود دارد. منظورم این است که نباید نام متغیرهای خود را چیزی مانند vadar_is_cool بگذارید. (Vadar نام یکی از شخصیت‌های سری فیلم‌های جنگ ستارگان است) حتی با وجود این که این نام از x بهتر است. مکان صحیح برای این که بگذارید تصوراتتان جریان پیدا کنند، seedها، داده‌های test و سندنگاری‌ها هستند. هیچ چیز آزاردهنده‌تر از این نیست که ببینید دیتابیس شما با نام‌هایی مانند qweqweqwe پر شده است، یا این که در هنگام خطایابی testها به User1 یا User2 بر بخورید. آیا بهتر نمیشد اگر که هر کاربر یک نام قانونی و مشخص داشت؟ اگر توضیحات کلاسیک مانند asd، چیز دقیق‌تر و واضح‌تری بودند چه؟

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

از Faker استفاده کنید، تا نام مورد نظر را بسازید

زیبایی Faker این است که استفاده از‌ آن بسیار ساده است. شما به راحتی آن را نصب می‌کنید (gem install faker) و «require ‘faker’» را به فایلی که می‌خواهید آن را با مقداری داده پر کنید، اضافه می‌کنید.

دیتابیس خود را پر کنید

فرض کنید که شما یک مدل User دارید و به مقداری داده برای محیط گسترش خود نیاز دارید. بیایید کمی با فایل seeds.rb خوش بگذرانیم. ساده‌ترین راه برای تولید مقداری داده واقعی، با چیزی به مانند این کد است:

User.create(name: "Bruce Wayne", birth_date: "1939-03-30", description: "I'm Batman")

User.create(name: "Harry Potter", birth_date: "1980-07-31", description: "Let's kill Voldi")

User.create(name: "Eleven", birth_date: "1971-01-01", description: "Eggos?")

اما آیا به نظر نمی‌رسد که این روش کار بسیار کمتری می‌طلبد؟

require 'faker'

10.times do

  User.create(

    name: Faker::GameOfThrones.unique.character,

    birth_date: Faker::Date.birthday(16, 65),

    description: Faker::GameOfThrones.unique.quote

   )

End

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

آزمایش

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

#spec/factories/user.rb

FactoryBot.define do

  factory :user do

    sequence :name do |i|

      "User_#{i}"

    end

  end

end

چه چیزی درباره این مسئله جالب است؟

خوشبختانه، آزمایشات یک مکان دیگر هستند که تمام دوستان محصولات فرهنگی شما (مانند Vadar) می‌توانند به میان بیایند. در اینجا، وضعیت موجود بسیار مشابه به تولید seedهای دیتابیس است، و بله، شما در اینجا هم می‌توانید از Faker استفاده کنید. بیایید یک آزمایش ساده بنویسیم.

# spec/factories/user.rb

FactoryBot.define do

  factory :user do

    name { Faker::BackToTheFuture.character }

    birth_date { Faker::BackToTheFuture.date }

    description { Faker::BackToTheFuture.quote }

  end

end

جالب است، نه؟

کار خود را به نمایش بگذارید

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

در اینجا نمی‌توان از Faker استفاده کرد. نوشتن اسناد یک آزمایش واقعی برای خلاقیت شماست. پس دنیای خیالی مورد علاقه خود را انتخاب کنید، چند wiki طرفداران را باز کنید و شروع به کار نمایید. آیا آن لبخند اتفاقی که برنامه نویسان در مقابل کامپیوتر انجام می‌دهند را دیده‌اید؟ مطمئن باشید که آن لبخند به علت یک نام مانند Vadar است که در بالا به آن اشاره شد.

از آن پس را به شما می‌سپارم

جمله بالا آشنا به نظر می‌رسد، نه؟ (به انگلیسی: Where we go from there is a choice I leave to you) البته که آشناست، این جمله از فیلم Matrix است. قرار دادن اشارات به محصولات فرهنگی فقط درباره ساخت جک نیست. ما درباره مواردی که می‌شناسیم، هیجان زده می‌شویم. این موارد باعث می‌شوند که احساس راحتی به ما دست دهد. پس چرا کمی از این حس خوب را به کد خود ندهیم؟

منبع

مقالات پیشنهادی

4 نکته مهم برای تبدیل شدن به یک توسعه‌دهنده

همه ما با یکسری از توقعات وارد دنیای کدنویسی شده‌ایم. مطمئنا باید بدانید که این مسئله ساده نیست و لازم است که برای آن سخت کار کنید. شما آماده‌اید که ز...

8 راه برای تبدیل شدن به یک توسعه دهنده عالی

در این مقاله قصد داریم برای اینکه مطمئن شوید آیا همان توسعه دهنده‌ای هستید که همه می خواهند استخدام‌تان کنند یا خیر، شما را با چندین نکته آشنا کنیم. 

یک تجربه کاربری کامل : واقعیت یا خیال ؟

روی تجربه کاربری(ux) تمرکز کنید، شگفت آوره، هنوز هم می تونيد روی یک پروژه که به نظريات اون تسلط داريد چيره بشيد. در حالي كه بر اساس قوانين تصميم گيري...

اگر قصد توسعه‌دهنده شدن دارید این نکات را به خاطر بسپارید

یکی از افسانه‌های معروفی که در مورد توسعه‌دهندگان نرم افزار وجود دارد این است که آن‌ها خسته‌کننده و شخصیت خشکی دارند، کسی که در دانشگاه نابغه ریاضی بو...