เริ่มต้นอย่างรวดเร็ว | ผลประโยชน์ | ทำไม - เป้าหมาย | สถานะโครงการ | ความไม่ลงรอยกัน การอภิปราย GitHub | ปัญหา GitHub | การบริจาค
Bitloops Language (BL) เป็นภาษาที่มีประสิทธิภาพสูงภาษาเฉพาะ (DSL) ที่ช่วยให้คุณมุ่งเน้นไปที่ตรรกะทางธุรกิจของแอปพลิเคชันของคุณซึ่งเป็นสิ่งที่สำคัญจริงๆ
มันรวมเอาการพัฒนาซอฟต์แวร์แนวทางปฏิบัติที่ดีที่สุดและวิธีการออกแบบเช่น DDD, BDD และสถาปัตยกรรมชั้น/หกเหลี่ยม
คู่มือภาษา Bitloops และให้อำนาจแก่นักพัฒนาซอฟต์แวร์ใด ๆ ในการเขียนโค้ดที่สะอาดและสร้างซอฟต์แวร์คุณภาพสูงและออกแบบมาอย่างดี สิ่งนี้มีความเกี่ยวข้องอย่างยิ่งสำหรับซอฟต์แวร์แอปพลิเคชันเซิร์ฟเวอร์ที่มีความซับซ้อนและการเปลี่ยนแปลงข้อกำหนดทางธุรกิจบ่อยครั้ง ด้วย BL นักพัฒนาสามารถสร้างซอฟต์แวร์โดยใช้หลักการต่าง ๆ เช่นการแยกข้อกังวลการมีเพศสัมพันธ์แบบหลวมการทำงานร่วมกันสูงและการแยกความรับผิดชอบแบบสอบถามคำสั่ง (CQRS) ซึ่งทำให้มั่นใจได้ว่าระบบจะเข้าใจและเปลี่ยนแปลงได้ง่ายขึ้น
ด้วยภาษา Bitloops นักพัฒนาสามารถ:
ในสาระสำคัญนักพัฒนาซอฟต์แวร์สามารถมุ่งเน้นไปที่สิ่งที่พวกเขาทำได้ดีที่สุด: การแก้ปัญหา! ด้วยนักพัฒนาภาษา Bitloops เขียนรหัสที่จะช่วยให้นักพัฒนาอื่น ๆ (และแม้กระทั่งหลังจาก 6 เดือน) สามารถเข้าใจและสร้างบนรหัสนั้นได้อย่างง่ายดาย
โปรดทราบว่าภาษา Bitloops อยู่ในช่วงเริ่มต้นและอยู่ภายใต้การพัฒนาที่กระตือรือร้นมาก คาดหวังข้อบกพร่องและข้อ จำกัด ความเข้ากันได้ย้อนหลังใด ๆ ไม่ได้รับประกันก่อนถึง v1.0.0
วิธีที่ดีที่สุดและเร็วที่สุดในการทำความเข้าใจว่าภาษา Bitloops ช่วยให้คุณเขียนโค้ดที่สะอาดและซอฟต์แวร์ที่ยอดเยี่ยมคือการทำตามคำแนะนำด้านล่าง ด้วยบทช่วยสอนนี้คุณจะเรียกใช้และดำเนินการแอป ToDo Bitloops เรียนรู้วิธีการทำงานของ Bitloops และดูไฟล์เอาต์พุตใน typeprige และชื่นชมวิธีการทำงานของภาษา Bitloops
หากคุณประสบปัญหาใด ๆ (โดยเฉพาะกับ Windows) ตรวจสอบส่วนปัญหาทั่วไปด้านล่าง
Bitloops ยังไม่ได้สร้างไบนารีดังนั้นวิธีที่ดีที่สุดในการติดตั้งและเรียกใช้ transpiler คือการติดตั้งภาษา Bitloops CLI เป็นแพ็คเกจ NPM ทั่วโลก คัดลอกสิ่งต่อไปนี้และเรียกใช้ใน IDE ของคุณ:
npm install -g @bitloops/bitloops-language-cliหรือคุณสามารถใช้เส้นด้าย:
yarn global add @bitloops/bitloops-language-cliแอพ Todo Bitloops พร้อมใช้งานสำหรับการโคลนนิ่ง คุณสามารถแยกไฟล์ตามลิงค์หรือโคลนโดยใช้คำสั่งด้านล่าง:
git clone https://github.com/bitloops/bitloops-language.gitขั้นตอนต่อไปคือการเปลี่ยนรหัสแอป TODO จากรหัสภาษา Bitloops เป็นรหัส TypeScript Transpile มาจากคำว่า transcompile และหมายถึงการแปลรหัสจากภาษาการเขียนโปรแกรมหนึ่งไปยังอีกภาษาหนึ่ง
MacOS / Linux
bl transpile -s bitloops-language/examples/todo/bl-source/ -t outputหน้าต่าง
bl transpile -s bitloops-languageexamplestodobl-source -t outputหรือ
bitloops-language transpileแค่ไหน! ตอนนี้คุณสามารถเรียกใช้สิ่งต่อไปนี้เพื่อดูจำนวนรหัสที่คุณบันทึกด้วยตัวเอง (การแจ้งเตือนสปอยเลอร์: 77% หรือ 2141 LOC!)
bl analyze-lines -bl bitloops-languageexamplestodobl-source -ts ./outputตกลงตอนนี้คุณมีตรรกะทางธุรกิจทั้งหมดของคุณ transpiled เป็นรหัสพิมพ์ที่มีโครงสร้างดี ???!
ขอบเขตของภาษา Bitloops สิ้นสุดลงที่นี่ แต่การใช้ bitloops คุณสามารถสร้างทุกอย่างโดยอัตโนมัติโดยใช้ Bitloops Magic และ AI โดยอัตโนมัติ! Bitloops จะสร้างโครงการ Nest.js ให้คุณและโครงสร้างพื้นฐานที่จำเป็นทั้งหมด (GRPC หรือ REST Controllers, Adpository Adapters สำหรับ PostgreSQL หรือ Mongo ฯลฯ ) รวมถึงไฟล์ Docker หรือ K8S เพื่อปรับใช้ระบบของคุณ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับกระบวนการ Bitloops อัตโนมัติ [คลิกที่นี่]
หรือคุณมีอิสระที่จะใช้เฟรมเวิร์กใด ๆ ที่คุณชอบหรือเพียงแค่เซิร์ฟเวอร์ด่วนหรือเซิร์ฟเวอร์ Faditify ฯลฯ
Set-ExecutionPolicy -ExecutionPolicy RemoteSignedมีภาษาการเขียนโปรแกรมที่ยอดเยี่ยมมากมายที่มีรหัสและการลงทุนขนาดใหญ่และกำลังเติบโต อย่างไรก็ตามปัญหาที่พบบ่อยที่สุดที่องค์กรที่สร้างและบำรุงรักษาระบบกับทีมนักพัฒนาที่ทำงานอยู่คือสถาปัตยกรรมที่ดีและการออกแบบระบบที่เชื่อมต่อถึงกัน
การออกแบบระบบที่ซับซ้อนเพื่อให้สามารถใช้งานได้ตลอดเวลาและจะช่วยให้นักพัฒนา (ผู้เข้าร่วมที่มีอยู่และใหม่) ทำงานบน codebase ด้วยการเพิ่มประสิทธิภาพที่มั่นคง (หรือหวังว่า) เป็นเรื่องยากมาก
การทดสอบที่ดีเป็นข้อกำหนดที่สำคัญเพิ่มเติมของผลิตภัณฑ์ที่ยาวนานซึ่งสามารถทำได้โดยสถาปัตยกรรมและการออกแบบที่ดี น่าเสียดายที่มีวิศวกรอาวุโสที่มีความรู้และมีประสบการณ์ทั่วโลกไม่เพียงพอที่จะสร้างและดูแลระบบที่ยอดเยี่ยมสำหรับทุกคนที่ต้องการพวกเขา แม้ว่า บริษัท จะโชคดีพอที่จะมีบางอย่าง แต่ก็ไม่สามารถจ้างวิศวกรรุ่นน้องได้มากกว่าที่ผู้อาวุโสสามารถตรวจสอบงานและคำแนะนำของพวกเขาเพื่อให้แน่ใจว่าระบบจะไม่ลดลงเมื่อเวลาผ่านไปเนื่องจากการตัดสินใจออกแบบที่ไม่ดี
ภาษา Bitloops เป็นภาษาการเขียนโปรแกรมครั้งแรกที่มีจุดมุ่งหมายเพื่อแก้ไขปัญหาเหล่านี้โดยทำให้ง่ายขึ้นมากที่จะนำหลักการและรูปแบบทางวิศวกรรมซอฟต์แวร์ที่สำคัญมาใช้เช่นการออกแบบที่ขับเคลื่อนด้วยโดเมนและการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรมโดยไม่ต้องใช้ประสบการณ์หลายปีที่ประสบความสำเร็จ เป็นผลให้การทำงานของวิศวกรอาวุโสสามารถยกระดับเพิ่มเติมและการมีส่วนร่วมของวิศวกรจูเนียร์เพิ่มขึ้นอย่างมีนัยสำคัญ
วิศวกรซอฟต์แวร์ทุกคนมีเป้าหมายร่วมกัน: เราต้องการเขียนโค้ดที่ดีขึ้นและสร้างซอฟต์แวร์ที่ดีกว่าและเราต้องการทำสิ่งนี้เร็วขึ้น!
อย่างไรก็ตามสิ่งนี้สามารถทำได้ด้วยการอุทิศตนอย่างมีนัยสำคัญและต่อเนื่องการเรียนรู้และประสบการณ์ซึ่งต้องใช้เวลามาก Bitloops ต้องการลดเวลาที่นักพัฒนาซอฟต์แวร์เริ่มสร้างซอฟต์แวร์คุณภาพสูงอย่างมีนัยสำคัญและเราได้สร้างภาษา Bitloops ที่รวมเอาแนวทางปฏิบัติที่ดีที่สุดในการพัฒนาซอฟต์แวร์และวิธีการออกแบบมาแล้ว
ในที่สุดเป้าหมายของ BL คือ:
ภาษา Bitloops มีจุดมุ่งหมายเพื่อกำหนดและรักษาไวยากรณ์ที่เรียบง่ายซึ่งจะใกล้เคียงกับภาษามนุษย์และตรรกะทางธุรกิจให้มากที่สุดเท่าที่จะเป็นไปได้ซึ่งจะกลายเป็นอมตะช่วยนำมาใช้และใช้ภาษาที่แพร่หลายภายในแต่ละโมดูลหรือบริบทที่ จำกัด จากนั้นเป็นหน้าที่ของ BL ที่จะเปลี่ยนเป็นไวยากรณ์ที่ทันสมัยและทันสมัยของภาษาเป้าหมายของคุณ
การทำให้ภาษา bitloops เป็นภาษา transpiled เป็นการตัดสินใจหลักที่จะบรรลุสิ่งนี้อย่างแน่นอน โดยการอนุญาตให้ Oraganisations เขียนตรรกะทางธุรกิจของพวกเขาในภาษาที่ไม่มีกาลเวลาซึ่งสามารถ transpiled เป็นพลัง แต่ยังเปลี่ยนภาษาเป้าหมายโดยไม่ทำให้ผู้ใช้ภาษา Bitloops กับงานนี้ ภาษา Bitloops จะทำให้แน่ใจว่ามัน transpiles ไปยังรหัสที่ดีที่สุดของภาษาที่เกี่ยวข้อง, ทันสมัยและภาษาที่เหมาะสมสำหรับงาน
ภาษา Bitloops อยู่ในช่วงเริ่มต้น transpiler ของมันถูกสร้างขึ้นเพื่อเป็นหลักฐานของแนวคิดและไม่ได้หมายถึงการครอบคลุมการเขียนโค้ดสร้างสรรค์ของนักพัฒนาอย่างเต็มรูปแบบในขั้นตอนนี้
เราต้องการเข้าใจดีขึ้นว่าเราสามารถสร้างภาษาที่ตรงกับความต้องการของคุณได้หรือไม่และเราสามารถรวบรวมความสนใจจำนวนมากภายในชุมชน DDD และภายนอกได้หรือไม่
มีหลายสิ่งที่เราต้องการเพิ่มในอนาคตรวมถึง
หากคุณสนใจที่จะมีส่วนร่วมเราจะรักความช่วยเหลือของคุณ!
หากคุณตระหนักถึงแนวคิด DDD แล้ว (มวลรวมวัตถุค่าใช้งานกรณีคอนโทรลเลอร์ ฯลฯ ) และรู้วิธีการเขียนโค้ดในภาษาการเขียนโปรแกรมที่ทันสมัยใด ๆ มันควรจะง่ายต่อการเลือกภาษา Bitloops มันถูกสร้างขึ้นจากชุดภาษาที่สอดคล้องกันซึ่งควรรู้สึกคุ้นเคยและง่ายต่อการอ่านและเข้าใจ
ในขณะที่ Bitloops เป็นภาษาที่มุ่งเน้นวัตถุ แต่ก็ไม่มีคลาสทั่วไป คลาส Bitloops เฉพาะมีการสร้างดังนี้: ValueObject, เอนทิตี, เอนทิตีรูท, คำสั่ง, CommandHandler, Query, QueryHandler, DTO, อุปกรณ์ประกอบฉาก, OK, ApplicationError, DomainError, ข้อผิดพลาด ฯลฯ
รหัสภาษา Bitloops เช่นนี้ (11 บรรทัด):
// Bitloops Language:
Rule TitleOutOfBoundsRule ( title : string ) throws DomainErrors . TitleOutOfBoundsError {
isBrokenIf ( title . length > 150 OR title . length < 4 ) ;
}
Props TitleProps {
string title ;
}
ValueObject TitleVO {
constructor ( props : TitleProps ) : ( OK ( TitleVO ) , Errors ( DomainErrors . TitleOutOfBoundsError ) ) {
applyRules ( TitleOutOfBoundsRule ( props . title ) ) ;
}
}transpiles ไปยังรหัส typescript นี้ (28 บรรทัด):
// TypeScript:
import { Domain , Either , ok , fail } from '@bitloops/bl-boilerplate-core' ;
import { DomainErrors } from './errors' ;
export class TitleOutOfBoundsRule implements Domain . IRule {
constructor ( private title : string ) { }
public Error = new DomainErrors . TitleOutOfBounds ( this . title ) ;
public isBrokenIf ( ) : boolean {
return this . title . length > 150 || this . title . length < 4 ;
}
}
export namespace Rules {
export class TitleOutOfBounds extends TitleOutOfBoundsRule { }
}
interface TitleProps {
title: string ;
}
export class TitleVO extends Domain . ValueObject < TitleProps > {
get title ( ) : string {
return this . props . title ;
}
private constructor ( props : TitleProps ) {
super ( props ) ;
}
public static create ( props : TitleProps ) : Either < TitleVO , DomainErrors . TitleOutOfBounds > {
const res = Domain . applyRules ( [ new Rules . TitleOutOfBounds ( props . title ) ] ) ;
if ( res ) return fail ( res ) ;
return ok ( new TitleVO ( props ) ) ;
}
} สำหรับคำถามและการสนับสนุนโปรดใช้ช่อง Discord อย่างเป็นทางการของเรา อย่าลังเลที่จะเข้าร่วมหากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับรูปแบบการออกแบบการพัฒนาซอฟต์แวร์
เราเป็นทีมเล็ก ๆ ในภารกิจในการกำหนดรหัสที่ออกแบบมาอย่างดีและซอฟต์แวร์คุณภาพสูงและเราจะใช้ความช่วยเหลือทั้งหมดที่เราจะได้รับ! หากคุณต้องการมีส่วนร่วมโปรดตรวจสอบแนวทางการบริจาคของเราเพื่อเรียนรู้วิธีการและสถานที่ที่เราสามารถใช้ความช่วยเหลือของคุณ เรามุ่งมั่นที่จะระบุ ประเด็นแรกที่ดี เพื่อให้คุณสามารถเริ่มมีส่วนร่วมและเรียนรู้ได้อย่างรวดเร็ว
โปรดตรวจสอบให้แน่ใจว่าได้อ่านแนวทางการรายงานของเราก่อนที่จะเปิดปัญหา ปัญหาที่ไม่สอดคล้องกับแนวทางอาจถูกปิดทันที
สำหรับความช่วยเหลือทั่วไปโดยใช้ภาษา Bitloops โปรดใช้หนึ่งในช่องเหล่านี้:
ภาษา Bitloops มีใบอนุญาตสาธารณะ GNU ทั่วไป v3.0 ดูไฟล์ใบอนุญาตสำหรับข้อมูลการออกใบอนุญาต
Bitloops มักจะมองหาคนที่ยอดเยี่ยมที่จะมีส่วนร่วมในภาษาและแพลตฟอร์ม Bitloops หากคุณกระตือรือร้นที่จะเข้าร่วมทีมที่ต้องการปรับปรุงวิธีการสร้างซอฟต์แวร์อย่างรุนแรงให้ส่งจดหมายปะหน้า CV + ของคุณ (สำคัญมาก) + โปรไฟล์ GitHub ไปที่: [email protected]