Automatically translated.View original post

📌Before you start programming,💻

Today I'm going to share with my friends that programming is challenging and needs to be well prepared to make projects as effective as possible. Understanding and knowing the principles of what you should know before you start programming will affect the quality of our projects. So let's look at 5 things to know before you start programming.

1. What to do about?

Before writing any program, we need to clearly define the goals and objectives of our project (use, use, use, use, use or not). We need to understand who this project is for, and what functions it serves. Identifying the needs and taking into account the business or target audience will help our program to be effective and solve the needs of users. * It needs to make money.

2. Learn the language used for programming.

Understanding a programming language is important. Choose a programming language that is suitable for our project or a popular language in the field. Study this programming language thoroughly and practice your coding skills before going to a real project.

3. System design and UX / UI

System design and user experience (UX) and user interface design (UI) are considered to be very important in making programs efficient and useful. It should be easy and convenient to make users learn, use and understand our programs.

4. Database design

Databases are an important part of system development. Data structures that are suitable for the project must be selected and designed. Data storage must be taken into account and good principles are followed in order to be effective and prevent data loss.

5. Hands on

Once you've prepared all 4 items before, start programming! Try building our little project first and then test it and improve it according to your needs. Actual action will help us learn and understand how the program works. Developing with hands-on projects is the best learning.

I hope my friends have more or less knowledge.

If you don't want to miss good content, please click follow me too. 🙏☺️

# programmer # Basic skills # Programmer # Developer # Work experience # Narrative at work # Self development ♪ Recommended # Free Lance # Work life review

2023/9/24 Edited to

... Read moreถ้ามีคนถามผมว่า “เมื่อต้องการพัฒนาโปรแกรมจะต้องทำสิ่งใดก่อน” ผมจะตอบแบบสั้นๆ เลยว่า “อย่าเพิ่งเขียนโค้ด ให้เริ่มจากการทำความเข้าใจปัญหาและขอบเขตงานก่อน” เพราะหลายโปรเจกต์ที่พัง ไม่ได้พังที่โค้ด แต่พังตั้งแต่ยังไม่ชัดว่าเรากำลังทำอะไรให้ใครใช้ นี่คือเช็กลิสต์ที่ผมใช้จริงก่อนเริ่มพัฒนาโปรแกรม (เหมาะทั้งงานเรียน งานบริษัท และงานฟรีแลนซ์) 1) นิยามปัญหา + เป้าหมาย (Goal) ลองเขียน 1–2 ประโยคให้ชัดว่าโปรแกรมนี้ทำไปเพื่ออะไร และ “สำเร็จ” หน้าตาเป็นแบบไหน เช่น ทำ Web Blog เพื่อให้โพสต์บทความได้, ทำระบบเอกสารออนไลน์เพื่ออนุมัติเอกสารไวขึ้น, ทำ Shopping Online เพื่อให้สั่งซื้อได้บนมือถือ หรือทำ AI เพื่อช่วยจัดหมวดหมู่ข้อมูล จุดนี้ช่วยกันหลุดสโคปได้ดีมาก 2) ระบุผู้ใช้และงานที่ผู้ใช้ต้องทำ (User & Use cases) ผมจะลิสต์ผู้ใช้หลัก 1–3 กลุ่ม แล้วเขียนเคสง่ายๆ เช่น “ลูกค้า: ค้นหาสินค้า → ใส่ตะกร้า → จ่ายเงิน”, “แอดมิน: เพิ่มสินค้า → ดูออเดอร์” การทำแบบนี้ทำให้รู้ว่าฟีเจอร์ขั้นต่ำ (MVP) คืออะไร และอะไรคือของแถมที่ค่อยทำทีหลัง 3) สรุปขอบเขตงาน + ข้อกำหนด (Requirement) แนะนำให้แบ่งเป็น Functional (ทำอะไรได้บ้าง) และ Non-functional (ต้องเร็วแค่ไหน/ปลอดภัยแค่ไหน/รองรับกี่คน) เช่น ต้องล็อกอินไหม, ต้องมีสิทธิ์ผู้ใช้ไหม, ต้องมีประวัติการทำรายการไหม พอชัดแล้วค่อยเริ่มประมาณเวลาหรือค่าใช้จ่ายได้ 4) เลือกเทคโนโลยีให้เหมาะกับงาน (Language/Stack) หลายคนเริ่มจาก “อยากใช้ภาษาอะไร” แต่ผมจะเริ่มจาก “งานต้องการอะไร” แล้วค่อยเลือก เช่น Python เหมาะงาน data/AI, JavaScript เหมาะสายเว็บ, C# เหมาะงานองค์กร/ระบบหลังบ้าน, PHP ก็ยังเหมาะกับเว็บบางประเภท ถ้าเป็นมือใหม่ เลือกสแต็กที่หาคนช่วย/หาบทเรียนง่าย และทำให้ส่งงานได้จริงสำคัญกว่า 5) วางภาพรวมระบบ + UX/UI + ฐานข้อมูลแบบพอประมาณ ไม่ต้องสวยหรือเป๊ะตั้งแต่แรก แค่พอให้ทีม/ตัวเราเห็นภาพเดียวกัน: หน้าจอหลักมีกี่หน้า (UX/UI), ข้อมูลหลักมีอะไรบ้าง (ตาราง Users/Products/Orders), ความสัมพันธ์เป็นยังไง และถ้าใช้ MySQL ก็วางคีย์/อินเด็กซ์คร่าวๆ กันข้อมูลซ้ำและกันพังภายหลัง ท้ายที่สุด “สิ่งแรกก่อนพัฒนาโปรแกรม” ในมุมผมคือ ทำให้โจทย์ชัดและทำ MVP ให้ได้เร็วที่สุด แล้วค่อยวนปรับจากฟีดแบ็กจริง พอทำแบบนี้ คุณจะเขียนโค้ดน้อยลง แต่ได้โปรแกรมที่ใช้งานได้จริงมากขึ้น