เทคนิคที่น่าประทับใจที่สุดที่ IDE สามารถดึงออกมาได้คืออะไร [ปิด]


18

IDEs สมัยใหม่มีกลอุบายมากมายเพื่อช่วยในการเขียนโค้ดการปรับโครงสร้างการค้นหา สิ่งเหล่านี้มีประโยชน์มาก แต่ไม่ค่อยมีพวกเขาดูเหมือน "วิเศษ" ของจริงและทำให้ฉันคิดว่า "ว้าว!

คุณสามารถตั้งชื่อคุณสมบัติการทำงานอัตโนมัติของรหัส IDE (หรืออื่น ๆ ) ที่น่าประทับใจเมื่อคุณเห็นมันเป็นครั้งแรกได้หรือไม่?


3
คำถามที่ดีอยากจะเห็นคำตอบมากขึ้น ... Bounty!
Tamara Wijsman

ผมไม่ทราบว่านี้ควรจะเป็นคำตอบ แต่เหตุผลที่ผมไม่เห็นใด ๆ กล่าวถึงความคิด IntelliJ ?
ทำเครื่องหมาย C

5
โปรแกรมเมอร์ที่แท้จริงใช้ผีเสื้อ
rightfold

ป้องกันไม่ให้ฉันจากการสร้างข้อบกพร่อง;)
เทรวิสคริสเตียน

นี่ไม่ควรปิดนี่เป็นคำถามที่สมบูรณ์แบบสำหรับที่นี่ imho
NimChimpsky

คำตอบ:


29

การดีบักไปข้างหลัง

Visual Studio 2010 (และตอนนี้ 2012) ให้ฉันดีบักไปข้างหลังด้วย IntelliTrace

ฉันจะไม่ต้องกลับมามีชีวิตอีกครั้งในช่วงเวลาที่ฉันกด F10 หนึ่งครั้งหลายครั้งเกินไปและต้องเริ่มการดีบักใหม่


2
ฉันยังไม่ได้ใช้ แต่ฉันต้องการ
AShelly

ฉันไม่ได้ใช้สิ่งนี้ (ฉันใช้ RAD Studio สำหรับ Delphi) แต่ดูเหมือนว่าฝันจะเป็นจริง (แต่นี่เป็นคำตอบที่ถูกต้องสำหรับคำถามนี้หรือไม่มันเป็นคุณสมบัติดีบักเกอร์มากกว่าฟีเจอร์โปรแกรมแก้ไขโค้ดดีมันเป็นส่วนหนึ่งของ IDE ดังนั้นอาจ ... )
Andreas Rejbrand

+1000: มันมีประโยชน์มาก
Callum Rogers

มันมีที่มาจากคำสั่ง :)?
Joonas Pulakka

2
ปัญหาคือคุณสามารถทำได้ด้วยภาษา MS (จัดการ) และไม่ใช่กับ C ++ เช่น
เปิดทาง

16

การเติมโค้ดให้สมบูรณ์

เมื่อสิ่งที่คุณเห็นเป็นเครื่องมือแก้ไขข้อความสิ่งนี้ก็น่าประทับใจ


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

2
สิ่งที่ฉันชอบคือฮิปปี้ขยาย ... มันมีประโยชน์อย่างยิ่งสำหรับฉันมากกว่าการเติมโค้ดให้สมบูรณ์
พอลนาธาน

2
@ คณิตศาสตร์และมีคนรู้ว่าจะทำเช่นนั้น?
TheLQ

2
มันน่าประทับใจถ้าคุณได้เขียนโปรแกรมมาตั้งแต่วันที่ทำเมนเฟรม
AShelly

4
พวกคุณถ้าคุณไม่พบคำตอบที่น่าสนใจนี้โปรดโหวตให้กับคำตอบอื่นแทนแทนที่จะไม่เห็นด้วยกับความคิดเห็น มันเป็นคำถามเชิงอัตวิสัยดังนั้นคำตอบที่ให้นั้นน่าจะเหมือนกัน
JBRWilkinson

16

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

ข้อความแสดงแทน


1
คุณช่วยกรุณายกตัวอย่างสำหรับผู้ที่ไม่เคยเห็นมันในทางปฏิบัติ (ฉัน)
serg

9
หากแก้ไขข้อความของคุณสามารถแทนที่คุณในการเขียนโค้ดฉันมีข่าวที่ไม่ดีบางอย่าง ...
P Shved

3
foreach(var matche in regex.Matches(str)). นอกจากนี้ยังกำหนดmatcheให้เป็นobjectมากกว่าMatch, ไม่มีประโยชน์มาก
Callum Rogers

1
@ คอลลัม: จริง แต่นั่นเป็นเพราะMatchCollectionคอลเล็กชันที่ไม่ได้พิมพ์ สำหรับคอลเลกชันที่เหมาะสมใช้varงานได้ดี (ฉันยังไม่ชอบเลย)
กำหนดค่า

1
นี่คือคุณลักษณะในคราสด้วย
NimChimpsky

12

ผมรู้สึกประทับใจมากกับของ Eclipse refactoringเครื่องมือเมื่อครั้งแรกที่ผมพบพวกเขา ความสามารถในการแยกเมธอด (ซึ่งเมื่อคุณเรียนรู้การออกแบบที่ดีขึ้นเป็นสิ่งที่เกิดขึ้นทั่วไป) จากโค้ดขนาดใหญ่และการจัดการทุกอย่างสำหรับฉันค่อนข้างเจ๋ง


12

รหัสฟองสบู่ http://www.andrewbragdon.com/codebubbles_site.asp

ฉันชอบ Visual Studio และ Eclipse สำหรับเครื่องมือที่พวกเขาให้ฉันเปลี่ยนรหัส แต่ Code Bubbles ทำให้ฉันตื่นเต้นจริงๆสำหรับการสำรวจและดูรหัสของฉัน น่าเสียดายที่มันไม่สามารถใช้ได้ในที่สาธารณะ = - {


2
ว้าว. วิดีโอนั้น ... ฉันกำลังน้ำลายไหล ฉันขอสิ่งนี้สำหรับ C ++ ได้ไหม
sbi

ฉันไม่สามารถพูดอะไรได้นอกจากว้าว
Icode4food

1
+1 ถึงแม้ว่าผมจะไม่ชอบ GUI ปัจจุบันแนวคิดของตัวเองเป็นที่น่าตื่นตาตื่นใจสวย ...
Tamara Wijsman

มันใช้งานได้จริงเหรอ? กล่องขนาดเล็กที่มีรหัสบางส่วน หากต้องการใช้งานคุณจำเป็นต้องมีจอภาพที่มีขนาดของกำแพง
IAdapter

ฉันหวังว่าสิ่งนี้จะไม่ถูกนำไปใช้ใน Emacs Pinky ซ้ายของฉันจะไม่เป็นเช่นนั้น
rightfold

7

สภาพแวดล้อมการเขียนโปรแกรมที่น่าประทับใจที่สุดที่ฉันเคยได้ยินคือระบบปฏิบัติการ Genera

คุณสามารถคลิกที่วิดเจ็ตใด ๆ ในระบบหน้าต่างและได้รับการอ่านเต็มของรหัสที่มาและเอกสารของรายการ เป็นภาษาโปรแกรมแบบไดนามิก (เสียงกระเพื่อม) คุณสามารถแก้ไขแหล่งที่มาของวิดเจ็ตได้ทันที

ZMACS จาก Lisp Machine โลกยังคงกล่าวว่าเป็นบรรณาธิการที่ดีกว่า Emacs ซึ่งเป็นสภาพแวดล้อมที่ไม่มีการแก้ไข


งานคำนวณครั้งแรกของฉันหลังจากที่มหาวิทยาลัยทำงานกับเวิร์กสเตชันสัญลักษณ์ (โดยใช้ชื่อสามัญ) เชื่อฉันว่ามีเหตุผลที่ไม่เป็นไปตามที่กล่าวมา!
FinnNk

3
โอ้ทำอย่างละเอียด!
ทำเครื่องหมาย C

ใช่ฉันต้องการทราบว่าทำไม Genera จึงไม่สามารถติดต่อได้เช่นกัน
Yazz.com

@FinnNk: บางทีคุณสามารถทำอย่างละเอียด?
พอลนาธาน

6

แสดงโครงสร้างของโปรแกรม (โปรแกรม / ฟังก์ชั่น / งานประจำ / ... )

ข้อความแสดงแทน


บรรณาธิการคนไหน?
พอลนาธาน


โชคไม่ดี ... (คุณได้รับจดหมายในขณะที่คุณจับภาพหน้าจอ) แต่นี่ไม่ใช่คุณสมบัติขั้นสูง แน่นอนว่ามันอาจมีประโยชน์สูง แต่ก็ไม่ "น่าประทับใจ" (เลย)
Andreas Rejbrand

@Andreas Rejbrand - ขออภัย Andreas แต่มีจดหมายอะไรบ้าง ภาพหน้าจออะไร ฉันเกรงว่าฉันไม่เข้าใจสิ่งที่คุณกำลังพูดถึง
โกง

@Rook: เขากำลังพูดถึงรูปภาพในคำตอบของคุณและกล่องสีฟ้าเล็ก ๆ ที่อยู่ด้านล่างขวาที่ดูเหมือนจะเป็นการแจ้งเตือนทางอีเมลจาก Outlook . .
ทิมกู๊ดแมน

4

ReSharper สามารถ refactor ได้ ในการเปิดเผยอย่างเต็มรูปแบบฉันอาจอยู่หลังโค้งเนื่องจากฉันคิดว่า Java กับ Eclipse มีฟังก์ชั่นประเภทนี้อยู่พักหนึ่ง แต่ฉันไม่ได้ทำงานกับ Java เป็นประจำ

เดลต้าในความสามารถที่ ReSharper เพิ่มไปยัง Visual Studio นั้นยอดเยี่ยมมากมันไม่น่าเชื่อ ฉันรู้ว่าฉันฟังดูเหมือนโฆษณา แต่ฉันไม่คิดว่าฉันจะกลับไปใช้การติดตั้ง Visual Studio แบบหุ้นได้โดยไม่ต้องใช้ ReSharper ด้านบน

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


ฉันได้รับการบอกกล่าวครั้งหนึ่งในที่ทำงาน "เพื่อนไม่ให้โปรแกรมเพื่อนโดยไม่ใช้ ReSharper"
Frank Shearar

4

ดีบักเกอร์ของ Smalltalk:

  • การเข้าถึงแบบเต็มไปยังสแต็กการโทรทั้งหมด (ตัวแปรอินสแตนซ์นี้ของผู้ส่งวัตถุ 3 ตัวใดที่ลงไปในสแต็ก)
  • แก้ไขรหัสภายใต้การทดสอบในดีบักเกอร์รีสตาร์ทและดำเนินการโปรแกรมต่อเนื่องเหมือนไม่มีอะไรเกิดขึ้น

เป็นเรื่องปกติอย่างสมบูรณ์ใน Smalltalk ที่จะใช้เวลาส่วนใหญ่เขียนโค้ดจากภายในโปรแกรมดีบั๊ก

(ฉันจำได้ว่าถูกลมพัดโดยการเรียกใช้วิธีการดูสิ่งผิดปกติเปลี่ยนแปลงและเรียกใช้วิธีการอีกครั้งโดยไม่ต้องรีสตาร์ทแอปพลิเคชันในวันนั้นด้วย Visual Age for Java ... เพราะ VA4J เขียนใน Visual Age for Smalltalk)

เครื่องมือค้นหาวิธีการของ Smalltalk

วิธีการค้นหาช่วยให้คุณถาม "ฉันจะส่งข้อความใดเพื่อรับพารามิเตอร์เหล่านี้และรับผลลัพธ์นี้" ขอให้มันและมันจะบอกคุณ'abc'. 'def'. 'abcdeb'. 'abc' , 'def' --> 'abcdef'ขอให้มันและกล่าวว่า#(0 1 2 3) #(0 1 2 3) sum --> 6* ผู้ส่งของผู้พัฒนาของทั้งหมดเพื่อค้นหาผู้ส่งข้อความ (หรือทั้งหมด) ของข้อความหรือวัตถุทั้งหมดที่ใช้ข้อความนั้น

(*) ยกเว้นเมื่อคุณทำสิ่งต่าง ๆ เช่นสร้างชื่อข้อความที่รันไทม์: self perform: (#foo, #bar)เพื่อส่งข้อความถึงตัวคุณเอง#foobar- ในกรณีนี้คุณรู้ว่าคุณกำลังทำอะไรอยู่


4

Whyline

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

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

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

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

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


3

ฉันคิดว่าฟีเจอร์ IDE ที่น่าประทับใจที่สุดที่ฉันเคยเห็นคือSyncEditซึ่ง AFAIK มีเฉพาะใน Delphi เท่านั้น


นี่ไม่ใช่แค่การเปลี่ยนชื่อสมาชิกใช่ไหม Eclipse ทำหน้าที่นี้แทน แก้ไข: โอ้ฉันเข้าใจแล้วคุณสามารถทำได้ภายในการเลือก
Matt Olenik

1
Eclipse ก็มีเช่นกัน (ใช้งานได้ตลอดเวลา) มีประโยชน์ - มาก Magical - ไม่แน่ใจ
serg

@Serg: โอ้ Eclipse มีหรือไม่ ฉันไม่รู้ ฉันไม่ได้ใช้จาวา ฉันรู้ว่า VS ไม่มีมัน ...
Mason Wheeler

@Matt: คุณสามารถทำได้ภายในการเลือกและเนื่องจากคุณสามารถทำได้ภายในการเลือกคุณสามารถทำข้ามไฟล์ได้มากเท่าที่คุณต้องการ ไม่ จำกัด ขอบเขตหรือข้อ จำกัด อื่น ๆ ที่ parser refactoring จะวางบนการเปลี่ยนชื่อสมาชิก
Mason Wheeler

Netbeans ก็มีสิ่งนี้เช่นกัน โดยปกติ ctrl-r
Alan Pearce

2

สิ่งที่ฉันต้องการเห็นใน IDE คือคุณสมบัติเหล่านี้:

  • แสดงรหัสในแบบที่ฉันคุ้นเคย (ไม่ว่ารูปแบบจะเป็นอย่างไร)
  • อนุญาตให้ฝังตาราง (พูดแผ่นงาน Excel ที่ฉันสามารถอ่านค่าของเซลล์ด้วยsheet[A3]) และรูปวาดในรหัสและเข้าใช้เช่นเดียวกับตัวแปรใด ๆ
  • อนุญาตให้ละเว้นการจัดฟันและรหัสที่ไม่จำเป็นอื่น ๆ ที่อยู่ตรงนั้นเพื่อทำให้การแยกวิเคราะห์มีความสุข
  • ค้นหารหัสด้วยเครื่องมือคล้าย Google (โดยเฉพาะการรับผลการค้นหาภายใน 35ms)
  • แสดงifเงื่อนไขที่ซับซ้อนในลักษณะคล้ายตาราง (ยังคงค้นหาลิงก์)
  • เครื่องมือการรีแฟคเตอร์ซึ่งสามารถค้นหาโค้ดที่คล้ายกันแยกความแตกต่างและลดให้เหลือสูงสุด
  • รองรับการสร้างรหัสในขณะที่ปฏิบัติตามกฎภาษา (คิดว่า: สร้าง getters และ setters ทั้งหมดสำหรับคลาส Java ยกเว้นเมธอดที่มีชื่อเดียวกันนี้อยู่แล้วหรือขึ้นอยู่กับคำอธิบายประกอบ)

"สร้าง getters และ setters สำหรับเรียน Java เว้นแต่วิธีการที่มีชื่อเดียวกันอยู่แล้ว" ผมคิดว่าคราสไม่ว่า ...
Hila

"แสดงรหัสตามที่ฉันคุ้นเคยกับ" และ "อนุญาตให้ละเว้นการจัดฟัน" เป้าหมายที่เข้ากันได้หรือไม่
TRiG

@Hila: ใช่ แต่รหัสที่มองเห็น สิ่งที่ฉันต้องการคือคอมไพเลอร์เพิ่งสร้างมันเมื่อคอมไพล์ซอร์ส Java; ฉันไม่ต้องการให้พวกเขารกรุงรัง
Aaron Digulla

@TRiG: IMHO มีการทับซ้อนกันระหว่างคนทั้งสอง ฉันเยื้องรหัสของฉันทั้งหมด เครื่องมือจัดฟันไร้ประโยชน์อย่างสมบูรณ์
Aaron Digulla

ถ้าเป็นเช่นนั้น IDE จะบันทึกการจัดฟัน แต่ไม่แสดงซึ่งอาจใช้ได้
TRiG

2

ประเภทการตรวจสอบสำหรับภาษาไดนามิก

ตราบใดที่โค้ดของคุณไม่ได้รับ 'meta' มากเกินไป IDE สำหรับ Ruby หรือ Python ควรจะสามารถรันงานพื้นหลังซึ่ง:

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

ฉันยังไม่เห็น IDE ที่ทำสิ่งนี้


คุณหมายความว่าคุณยังไม่เห็น R / P IDE ที่ทำสิ่งนี้หรือ IDE ใด ๆ โดยทั่วไป?
ทำเครื่องหมาย C

ฉันไม่เคยเห็นสิ่งนี้มาก่อนเลย แต่ฉันก็ไม่ได้ดูหนักเหมือนกัน
AShelly

RoelTyper และ Chuck ของ Lex Spoon Roel Wuyts ทำการวิเคราะห์แบบนี้สำหรับ Squeak
Frank Shearar

นี่อาจจะต้องถูกสร้างขึ้นบนระบบอนุมานชนิดบางชนิดในภาษาที่ไม่เคยถูกออกแบบมาเพื่ออนุมานประเภท
โกหก Ryan


2

Auto Build ของ Eclipse เป็นคุณสมบัติที่ฉันชื่นชอบมากที่สุด .... 7 ปีที่แล้ว ตอนนี้ฉันเพิ่งรับไป


intellij เพิ่งจะได้รับเนื่องจากใน v12 คราสสิ่งเดียวที่ทำได้ดีกว่า
NimChimpsky

2

Xcode 4 แก้ไขอัฒภาคและการพิมพ์ผิดและใช้ลูกศรเพื่อแสดงว่าเกิดข้อผิดพลาดอย่างไร

เช่น:

NSString *a = [[NSString alloc] init];
[a release];
int l = [a length];

ลูกศรจะถูกดึงจาก[a release]ไป[a length]ยังเพื่อแสดงว่าทำไมคุณไม่สามารถใช้งาน[a length]ได้


พฤติกรรมนี้ลงไปที่ตัววิเคราะห์แบบคงที่เสียงดังกราว คุณสามารถเรียกใช้เป็นคำสั่งแยกต่างหากและดูผลลัพธ์ในเบราว์เซอร์ ไม่มีลูกศรแฟนซี
จะ

1

เทมเพลตรหัสและส่วนขยายเช่น CodeRush ของ DevExpress ใน C #, a DependencyPropertyเป็นความเจ็บปวดที่สำคัญในการสร้างเนื่องจากไวยากรณ์สามารถรับ verbose แต่เพียงพิมพ์ "dp" นำสิ่งที่คล้ายกับตัวอย่างที่คุณกรอกในประเภทชื่อและค่าเริ่มต้นและอื่น ๆ เสร็จแล้ว - รวมถึง การเพิ่มคำสั่ง "using" ที่จำเป็นและอาจอ้างอิงโครงการหากหน่วยความจำทำหน้าที่

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


1

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


ดี! แม้ว่าฉันหวังว่ามันจะใช้สำหรับการสร้างข้อมูลการทดสอบมากกว่ากรณีทดสอบแบบเต็ม! [ข้อมูลการทดสอบ + ผลลัพธ์ที่คาดหวัง = กรณีทดสอบ] นั่นคือการสร้างผลลัพธ์ที่คาดหวังโดยอัตโนมัติหมายความว่ามันไม่ได้ทดสอบสิ่งที่คุณคิด มันจะต้องมีการตรวจสอบโดยคนที่รู้สเป็ค
Macneil

1

ใน Eclipse Generate SEtters และ getters โดยอัตโนมัติสร้างเมธอดในคลาสที่คล้ายกันจากอินเตอร์เฟส


1

การสนับสนุน JPA ของ IntelliJ Idea

พูดถึงคุณมี DatabaseEntity:

@Entity
public class Customer{
[...]
String lasName;
[...]

ตอนนี้คุณมี JPA-Queries แล้ว

Query q = "selecct s from Customer c where c.lasName=:lastName"

หลังจากที่บางครั้งคุณจะเห็นว่าคุณพิมพ์ผิดภายใน Entity ของคุณและคุณตัดสินใจที่จะ refactor lasnameเพื่อนามสกุล

IDE นั้นจะทำการสร้าง JPA-Query อีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.