โปรแกรมเมอร์ มีความสุข เกิดสมาธิ จากการเขียนโค้ด โปรดักทิวีตี้เพิ่มขึ้น ตอนที่ 1


บทความจาก นิตยสาร WindowsITPro (November – December 2013)
ได้ขออนุญาตทางบก. เรียบร้อยแล้ว

เมื่อวันที่ 13 พฤศจิกายน 2556
ไมโครซอฟท์
ได้เปิดตัว Visual Studio 2013 และ .NET 4.5.1
ไม่ทราบท่านผู้อ่าน ได้ติดตามบ้างใหม
ปีนี้ ถือเป็นปีที่ยิ่งใหญ่ ของ Visual Studio
โดยไมโครซอฟต์ได้ส่งมอบฟีเจอร์ที่ดีเยี่ยม

เอดิเตอร์โปรดักทิวีตี้
สำหรับนักพัฒนา ซึ่งใน Visual Studio 2013 นั้น
ได้เน้นเรื่อง เอดิเตอร์โปรดักทิวีตี้เป็นหลัก
ซึ่งไมโครซอฟต์ ได้รับข้อเสนอแนะ (Feedback)
จากนักพัฒนาทั่วโลก และได้นำ ข้อเสนอแนะจากของฟีเจอร์เหล่านั้น
ผนวกเข้าไปใน Visual Studio 2013
ในบทความนี้ผู้เขียนจะยกฟีเจอร์หนึ่งมาพูดถึง
ซึ่งผู้เขียนชื่นชอบเป็นพิเศษ และคิดว่า สำหรับนักพัฒนาแล้วฟีเจอร์นี้
จะช่วยให้การเขียนโค้ด เป็นเรื่องที่สนุกมากยิ่งขึ้น

Go to Definition

รูปที่ 1: เมนู
Go to Definition

ในอดีตเมื่อคุณเขียนโค้ด
และต้องการดูรายละเอียดของบางอ็อบเจ็กต์ หรือบางเมธอด
คุณจะใช้วิธี คลิกขวาลงบนอ็อบเจ็กต์ดังกล่าว
แล้วเลือกเมนู Go to Definition (ดังรูป1)
แล้วมันจะพาคุณกระโดดไปในบรรทัดอื่น
หรือไม่ก็ไปเปิดโค้ดในหน้าต่างอื่น (ดังรูปที่2)
ซึ่งเมื่อคุณดูรายละเอียดเสร็จเรียบร้อย
และได้แนวคิดแล้ว คุณจะกลับไปเขียนโค้ดต่อ
เมื่อคุณจะกลับไปที่เดิม คุณจะเสียเวลาในการค้นหาว่า
เมื่อตะกี้ คุณอยู่ ณ ตำแหน่งใหนของซอร์สโค้ด
พอคุณจะกลับไปยังตำแหน่งเดิม เพื่อที่จะเขียนโค้ดต่อ

ความคิดคุณจะไม่โฟลว์
ไม่ใหลต่อจากจุดที่คุณกำลังขียนโค้ดเมื่อครู่
เมื่อกี้คุณไปดูอะไรมา?…
รายละเอียดมันว่าอย่างไรนะ
เนื่องจากคุณใช้พลังงานไปบางส่วน
ในการค้นหา เส้นทางกลับมาที่จุดเดิม
แล้วก็ทำให้ว้าวุ่นใจ แล้วคุณจะลืม และมึนๆ


รูปที่ 2:
Go to Definition เปิดหน้าต่างใหม่

เมื่อคุณลืม และมึน
คุณจะลุกจากโต๊ะ ไปหาทานกาแฟ, คุยกับเพื่อน
กลับมาที่โต๊ะ ยังนึกไม่ออก และมึนกว่าเดิม
แล้วคุณเริ่มเปิด

Facebook Update Status
สักหน่อย แล้วถ่ายรูป แก้วกาแฟ เน้นโลโก้ สตาร์…บั๊ก แล้วแชร์….
จากนั้นคุณจะรอเพื่อนมา กด Like…
ขณะเดียวกันคุณก็หากด Like status ของเพื่อนๆ
มารู้สึกตัวอีกทีถึงเวลาเลิกงาน
เตรียมตัวเก็บกระเป๋ากลับบ้าน หมดไปครึ่งวัน
โค้ดดิ่งเท่าเดิม กับเมื่อเช้า
เพียงเพราะความคิดคุณไม่โฟลว์
ทำให้คุณลืม มัวแต่หาว่า เอ…เมื่องี้
เรากำลังเขียนตรงส่วนใหน? …

Peek Definition

รูปที่ 3: เมนู
Peek Definition


รูปที่ 4:
Peek Window

การที่ความคิดของคุณไม่โฟลว์ สิ่งนี้บอกอะไรกับเรา
สมาธิ!
สมาธินั้นสำคัญมาก
ไมโครซอฟท์ ได้เพิ่มฟีเจอร์
Peek นี้เข้ามา
โดยทำให้คุณสามารถ ดูรายละเอียดของโค้ดที่เรียกใช้

  • ณ จุดที่มีการเรียกใช้
  • ณ ตำแหน่งที่เคอร์อยู่
  • ณ ขณะในปัจจุบัน ที่คุณกำลังเขียนโค้ด โดยที่คุณไม่ต้องสลับหน้าต่าง ไปที่อื่น

ณ ขณะปัจจุบัน…
ณ ขณะปัจจุบัน นี้สำคัญมาก
เดล คาร์เนกี้ กล่าวไว้ในหนังสือว่า

“จงมีชีวิตอยู่ ในห้อง ที่มีแต่วันนี้”

อดีตผ่านมาแล้ว
ส่วนอนาคตเป็นเพียงสิ่งซึ่ง ยังไม่ปรากฏรูปร่าง
และยาวนานเท่าไหร่ ไม่มีใครบอกได้

ชีวิตจริงของคุณ
มีอยู่ ณ ขณะ ปัจจุบัน ที่คุณกำลังเขียนโค้ดนี้ เท่านั้น

ทุกครั้งที่เข็มวินาทีกระดิก
เหตุการณ์เหล่านั้นจะ กลายเป็นอดีตไปทันที

ถ้าคุณลองสังเกตุ ย้อนกลับมาดูที่ตัวเองดีดี
สิ่งที่ทำให้คุณกังวลใจ ไม่สบายใจ
เครียดจนเขียนโค้ดไม่ออก
เป็นเพราะคุณใช้หน่วยความจำ(Memory) ในหัว
ไปคิดเรื่องในอดีต (เมื่อเช้าตื่นสาย คนที่บ้าน บ่นแต่เช้า ตอนนี้ยังรู้สึกอยู่…)
หรือไม่ก็เป็นเรื่องที่ยังไม่เกิดในอนาคต
(โอ้…งานโค้ดดิ้งกองโตเลย จะส่งลูกค้าพรุ่งนี้ จะทันใหมนี่…จะโดนด่า โดนปรับใหม?)

โดยคุณนำความกังวลใจเหล่านั้นมาคิดในปัจจุบัน
จนหน่วยความจำในหัวของคุณเหลือน้อย
หรือแทบไม่เหลือ
สำหรับการประมวลผลข้อมูลตรงหน้าคุณ
ในขณะที่คุณกำลังเขียนโค้ดอยู่
ทำให้คุณแก้ไขปัญหาได้ล่าช้า หรือไม่สามารถหาทางออกของปัญหาได้
สิ่งที่จะทำให้ ชีวิตของคุณมีความราบรื่นได้จริงๆ คือ

ชั่วขณะ ปัจจุบัน
นี้เท่านั้น

ณ ขณะปัจจุบัน
ที่คุณกำลังเขียนโค้ด
ถ้าคุณไม่เสียเวลา
ในการสลับหน้าต่างไปมา
ทำให้คุณเกิดความว้าวุ่นใจ
เมื่อไม่มีเหตุปัจจัย ในการดึงความคิดของคุณให้หลุด
ไปจากสิ่งที่คุณกำลังโค้ดดิ้ง

ความคิดของคุณจะโฟลว์
และเริ่มใหลเป็นน้ำ
เมื่อนั้นการเขียนโค้ดของคุณจะราบรื่น
คุณจะเริ่มมีความสุข เมื่อคุณไม่คิดถึงความว้าวุ่นใจเหล่านั้น
สิ่งที่มีอยู่คืออะไร?

  • คือความราบรื่น
  • คือความสงบสุข สบาย ในใจของคุณ
  • คือหน่วยความจำที่มากมายในหัวคุณ ที่ถูกคืนสู่ความว่าง พร้อมสำหรับ การนำไปใช้งานทันที

การใช้งาน Peek นั้น
เมื่อคุณต้องการดูรายละเอียดของบางอ็อบเจ็กต์
หรือบางเมธอดใดๆ คุณเพียงคลิกขวาบนอ็อบเจ็กนั้นๆ
แล้วเลือกเมนู Peek Definition (ดังรูปที่3)
หรือวางเคอร์เซอร์ บนอ็อบเจ็กต์ดังกล่าว
แล้วกดปุ่มชอร์ตคัต(shortcut) Alt+F12
หน้าต่าง Peek จะเปิดออกมาทันที ณ …

  • ณ จุดที่มีการเรียกใช้
  • ณ ตำแหน่งที่เคอร์อยู่
  • ณ ขณะในปัจจุบัน ที่คุณกำลังเขียนโค้ด โดยที่คุณไม่ต้องสลับหน้าต่าง ไปที่อื่น ดังรูปที่4

ปุ่มคีย์บอร์ดชอร์ตคัต สำหรับ Peek Definition ดังตารางที่ 1:

ตารางที่ 1: Keyboard shortcuts for Peek Definition

Functionality

Keyboard shortcut

Open the definition window

Alt+F12

Close the definition window

Esc

Promote the definition window to a regular document tab

Shift+Alt+Home

Navigate between definition windows

Ctrl+Alt+- and Ctrl+Alt+=

Navigate between multiple results

F8 and Shift+F8

Toggle between the code editor window and the definition window

Shift+Esc

 


รูปที่ 5: Stack Peek Window

และนอกจากนั้น
เมื่อคุณต้องการดู อ็อบเจ็กต์อื่นๆ ในหน้าต่าง Peek
คุณสามารถคลิกขวาเลือกเมนู Peek Definition
แล้วคุณสามารถดูลึกเข้าไปในหน้าต่าง Peek
ซึ่งจะเก็บหน้าต่าง Peek เป็นสแต็ค (Stack)
ไว้ดังรูปที่ 5 โดยคุณสามารถคลิกเมาส์สลับหน้าต่าง Peek อื่นๆ ได้ทันที
และคุณยังสามารถแก้ไขโค้ดในหน้าต่าง Peek ได้ทันที อีกด้วย

เมื่อคุณดูรายละเอียดของอ็อบเจ็กต์
เป็นที่เรียบร้อย คุณได้แนวคิด และรู้ว่า
อ็อบเจ็กต์ดังกล่าวทำงานอย่างไร รับส่งพารามิเตอร์อย่างไร
คุณเพียงปิดหน้าต่าง Peek ดังกล่าวทิ้งไป
จะเห็นว่า คุณไม่ได้สลับหน้าต่างไปที่อื่น

คุณสามารถเขียนโค้ดต่อได้ทันที
ความคิดของคุณจะใหลต่อทันที จากจุดที่คุณค้างไว้เมื่อครู่

รูปที่ 6 เขียนโค้ดต่อได้ทันที จากจุดที่ค้างไว้เมื่อครู่

ความสุขนั้นมีอยู่ตลอดเวลา
ตรงหน้าคุณ รอบๆ ตัวคุณ
อยู่ที่ว่าคุณจะเหลือหน่วยความจำในหัว
เพียงพอที่จะรู้สึก ถึงมันได้มากแค่ใหน


ด้วย Visual Studio 2013 สามารถช่วยคุณได้
ช่วยให้คุณมีความสุข ในการเขียนโค้ดมากขึ้น

เมื่อคุณมีความสุข
สมาธิของคุณก็จะเกิด

เมื่อสมาธิเกิด
ความว้าวุ่นใจจะหายไป
คุณจะจดจ่ออยู่กับสิ่งตรงหน้า ที่คุณกำลังทำ
โดยคุณไม่ต้องกังวลถึงสิ่งที่ผ่านไปแล้ว
ไม่ต้องกังวลถึง สิ่งที่ยังไม่เกิดขึ้น

เมื่อนั้น หน่วยความจำในหัวของคุณจะเหลือพื้นที่มากพอ
ในการประมวลผลกับปัญหาตรงหน้า
ความคิดของคุณจะใหลเหมือนท่อประปาแตก
และจะทำให้คุณแก้ไขปัญหาได้อย่างรวดเร็ว
เมื่อนั้นโปรดักทิวีตี้ของคุณจะเพิ่มขึ้นหลายเท่าตัว

โปรแกรมเมอร์
สามารถมีความสุข และมีสมาธิ ได้จากการเขียนโค้ด
จงเขียนโค้ด ของคุณอย่างมีความสุข
เมื่อคุณทำงานอย่างมีความสุข
คุณจะทำงานโดยไม่ต้องทำงาน

แหล่งข้อมูลอ้างอิง:

บทความจาก นิตยสาร WindowsITPro (November – December 2013)

โดย:
Nano,2014-05-02

Advertisements
เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน Uncategorized

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: