คำถามติดแท็ก user-experience

5
ความล้มเหลวเดียวควรล้มเหลวในการดำเนินการเป็นกลุ่ม?
ใน API ฉันทำงานอยู่มีการดำเนินการลบจำนวนมากซึ่งยอมรับอาร์เรย์ของ ID: ["1000", ..., "2000"] ฉันมีอิสระที่จะใช้การดำเนินการลบตามที่ฉันเห็นสมควรดังนั้นฉันตัดสินใจที่จะทำธุรกรรมทั้งหมด: นั่นคือถ้า ID เดียวไม่ถูกต้องคำขอทั้งหมดล้มเหลว ฉันจะเรียกสิ่งนี้ว่าโหมดเข้มงวด try{ savepoint = conn.setSavepoint(); for(id : IDs) if( !deleteItem(id) ){ conn.rollback(savepoint); sendHttp400AndBeDoneWithIt(); return; } conn.commit(); } ทางเลือก (นำไปใช้ที่อื่นในชุดซอฟต์แวร์ของเรา) คือทำสิ่งที่เราทำได้ในแบ็กเอนด์และรายงานความล้มเหลวในอาเรย์ ส่วนหนึ่งของซอฟต์แวร์นั้นเกี่ยวข้องกับคำขอที่น้อยลงดังนั้นการตอบสนองจึงไม่ได้กลายเป็นอาร์เรย์ขนาดใหญ่ ... ในทางทฤษฎี ข้อผิดพลาดล่าสุดที่เกิดขึ้นในเซิร์ฟเวอร์ที่มีทรัพยากรต่ำทำให้ฉันดูรหัสอีกครั้งและตอนนี้ฉันตั้งคำถามกับการตัดสินใจเดิมของฉัน - แต่คราวนี้ฉันมีแรงจูงใจมากขึ้นตามความต้องการทางธุรกิจมากกว่าแนวทางปฏิบัติที่ดีที่สุด ตัวอย่างเช่นถ้าฉันล้มเหลวในการร้องขอทั้งหมดผู้ใช้จะต้องลองอีกครั้งในขณะที่หากมีการลบรายการจำนวนหนึ่งผู้ใช้สามารถดำเนินการให้เสร็จสิ้นแล้วขอให้ผู้ดูแลระบบทำส่วนที่เหลือ (ในขณะที่ฉันแก้ไขข้อผิดพลาด !) นี่จะเป็นโหมดที่ได้รับอนุญาต ฉันพยายามหาคำแนะนำเกี่ยวกับเรื่องนี้ทางออนไลน์ แต่ฉันกลับมามือเปล่า ดังนั้นฉันมาหาคุณ: สิ่งที่คาดหวังมากที่สุดจากการดำเนินการเป็นจำนวนมากในลักษณะนี้? ฉันควรจะเข้มงวดมากขึ้นหรือฉันควรจะได้รับอนุญาตมากขึ้น?

4
วิธีจัดการกับการออกแบบส่วนต่อประสานกับผู้ใช้และรองรับคุณสมบัติต่าง ๆ ในการพัฒนา Agile?
ในกระบวนการพัฒนาแบบ Agile โดยปกติจะเน้นที่เรื่องของผู้ใช้ แต่บางครั้งความต้องการเดียวอาจครอบคลุมเรื่องราวของผู้ใช้หลายคน ตัวอย่างเช่นลูกค้าอาจขอหน้าค้นหาสำหรับผู้ใช้ทั้งหมดในฟอรัมและมีการดำเนินการหลายอย่างที่อาจเกิดขึ้นกับผู้ใช้แต่ละรายเช่นผู้ใช้แบนผู้ใช้ลบผู้ใช้รีเซ็ตรหัสผ่าน ฯลฯ เราอาจแบ่งคุณลักษณะนี้ออกเป็นเรื่องราวของผู้ใช้อย่างน้อย 4 เรื่อง: ค้นหาผู้ใช้ แบนผู้ใช้ ลบผู้ใช้ รีเซ็ตรหัสผ่าน ผู้ออกแบบส่วนต่อประสานผู้ใช้จะใช้ส่วนต่อประสานกับผู้ใช้ได้อย่างไร? เขา / เธอควรทำงานกับเรื่องราวของผู้ใช้คนแรกแล้วเริ่มเพิ่มคุณสมบัติเพิ่มเติมให้กับ UI หรือไม่ อย่างไรก็ตามฉันคิดว่า UI ขั้นสุดท้ายจะเลอะ! หากเขาตัดสินใจที่จะทำงานกับคุณลักษณะทั้งหมด (การค้นหา + การกระทำ) จะเกิดอะไรขึ้นถ้าการกระทำที่มีลำดับความสำคัญต่ำและจะต้องดำเนินการซ้ำหลายครั้งหลังจากฟังก์ชั่นการค้นหาเสร็จสิ้นแล้ว

3
คุณควรตัดการป้อนข้อมูลเมื่อใด
ฉันฝึกงานกับการเรียนรู้มากมายเกี่ยวกับอุตสาหกรรมด้านนอกสถาบันการศึกษา สิ่งหนึ่งที่ฉันคิดเกี่ยวกับวันนี้คือการป้อนข้อมูลการตัดแต่ง ในด้านหนึ่งของเหรียญฉันไม่ต้องการให้ผู้ใช้ / ผู้ใช้งานได้รับผลลัพธ์ที่ไม่คาดคิดเนื่องจากอินพุตของพวกเขามีช่องว่างมากเกินไปดังนั้นฉันจึงจำเป็นต้องตัดการป้อนข้อมูลของผู้ใช้อย่างต่อเนื่องหลังจากการเรียกใช้ทุกครั้ง แต่ในเวลาเดียวกันถ้าฉันกำลังสร้างห้องสมุดAPIสำหรับใช้ภายในที่นี่ที่สำนักงานท้าย / ช่องว่างชั้นนำอาจมีความสำคัญต่อผลลัพธ์ จากนั้นมีหลายกรณีที่ฉันไม่แน่ใจว่าช่องว่างจะมีความสำคัญหรือไม่ ปัญหาใหญ่สำหรับฉันคือฉันพบว่าตัวเองโทรหา. trim () อย่างต่อเนื่องทุกที่ในรหัสของฉัน ไม่มีใครมีเคล็ดลับ / กฎของหัวแม่มือหรือเพียงแค่คิดเกี่ยวกับวิธีการจัดการกับสถานการณ์บางอย่าง?

7
การแฮชรหัสผ่านและการสนับสนุนผู้ใช้ของคุณ
เมื่อเร็ว ๆ นี้เราได้ย้ายไปใช้กลยุทธ์การจัดเก็บรหัสผ่านที่ดีขึ้นด้วยสิ่งที่ดีทั้งหมด: รหัสผ่านจะถูกเก็บไว้หลังจากผ่าน bCrypt ผู้ใช้จะได้รับลิงค์เปิดใช้งานในการสร้างบัญชีเพื่อยืนยันความเป็นเจ้าของที่อยู่ ลืมรหัสผ่านโดยไม่มีคำถามเพื่อความปลอดภัยลิงค์จะถูกส่งไปยังอีเมลของพวกเขา ลิงค์จะหมดอายุหลังจาก 24 ชั่วโมง ณ จุดที่พวกเขาจะต้องขอใหม่ หากบัญชีถูกสร้างขึ้นจากพนักงานของเราอีเมลจะถูกส่งด้วยรหัสผ่านที่รัดกุมแบบสุ่ม เมื่อเข้าสู่ระบบในผู้ใช้จะต้องรีเซ็ตเป็นสิ่งที่เราไม่รู้จักและนั่นคือ bCrypt'd ขณะนี้เป็นไปตาม "แนวปฏิบัติที่ดีที่สุด" แต่นี่เป็นการเพิ่มจำนวนการสนับสนุนของเราจากผู้ใช้ทั่วไปที่ไม่เข้าใจทั้งหมดพวกเขาต้องการเข้าสู่ระบบ เรามักจะได้รับการร้องขอจากผู้ใช้ที่บ่นเกี่ยวกับ: รหัสผ่านไม่ถูกต้อง (จากรหัสที่ต้องรีเซ็ตพวกเขามักจะวางด้วยช่องว่างในตอนท้าย) พวกเขาบอกเราว่าพวกเขากำลังใช้อะไรอยู่ แต่เราไม่มีวิธีบอกพวกเขาว่ารหัสผ่านจริงของพวกเขาคืออะไร บอกว่าพวกเขาไม่ได้รับอีเมลที่เราส่งไป (การเปิดใช้งานการรีเซ็ต ฯลฯ ) นี่ไม่ใช่กรณีหลังจากแก้ไขปัญหาเรามักพบว่าพวกเขาพิมพ์ผิดในอีเมลว่าพวกเขาไม่ได้ตรวจสอบบัญชีอีเมลที่ถูกต้องหรือว่ามันไปในโฟลเดอร์สแปม แน่นอนว่าเราไม่สามารถทดลองใช้ได้สำหรับพวกเขาเนื่องจากเราไม่มีรหัสผ่าน เรากำลังบันทึกความพยายามที่ล้มเหลว แต่เรายังล้างรหัสผ่านที่ใช้เนื่องจากน่าจะเป็นรหัสผ่านที่ใช้สำหรับบัญชีอื่นและเราไม่ต้องการเก็บไว้ในไฟล์บันทึกข้อความธรรมดา สิ่งนี้ทำให้เราไม่มีอะไรจะช่วยพวกเขาเมื่อพวกเขารายงานปัญหา ฉันอยากรู้ว่าคนส่วนใหญ่จัดการกับปัญหาเช่นนี้ได้อย่างไร

1
เมื่องานอะซิงโครนัสทำให้ UX ไม่ดี
ฉันกำลังเขียน COM add-in ที่ขยาย IDE ที่ต้องการอย่างยิ่ง มีคุณสมบัติหลายอย่างที่เกี่ยวข้อง แต่ให้แคบลงเป็น 2 เพื่อประโยชน์ของโพสต์นี้: มีเครื่องมือExplorer ในหน้าต่างที่แสดงมุมมองแบบต้นไม้ที่ช่วยให้ผู้ใช้นำทางโมดูลและสมาชิกของพวกเขา มีเครื่องมือตรวจสอบรหัสหน้าต่างที่แสดงDataGridviewที่ให้ผู้ใช้สำรวจปัญหารหัสและแก้ไขให้โดยอัตโนมัติ เครื่องมือทั้งสองมีปุ่ม "รีเฟรช" ที่เริ่มงานแบบอะซิงโครนัสที่แยกวิเคราะห์รหัสทั้งหมดในโครงการที่เปิดอยู่ทั้งหมด รหัส Explorer ที่ใช้ผลการแจงการสร้างTreeViewและรหัสการตรวจสอบการใช้ผลการแจงที่จะพบปัญหารหัสและแสดงผลลัพธ์ในของDataGridView สิ่งที่ฉันพยายามที่จะทำที่นี่คือการแบ่งปันผลแยกระหว่างคุณสมบัติเพื่อที่ว่าเมื่อรหัส Explorer ในการรีเฟรชแล้วรหัสการตรวจสอบรู้เกี่ยวกับมันและสามารถฟื้นฟูตัวเองได้โดยไม่ต้องทำซ้ำการทำงานแยกว่ารหัส Explorer ที่ก็ไม่ได้ . ดังนั้นสิ่งที่ฉันทำฉันทำให้ parser class เป็นผู้ให้บริการเหตุการณ์ที่คุณสมบัติสามารถลงทะเบียนได้ที่: private void _parser_ParseCompleted(object sender, ParseCompletedEventArgs e) { Control.Invoke((MethodInvoker) delegate { Control.SolutionTree.Nodes.Clear(); foreach (var result in e.ParseResults) { var node = new …

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

7
UX ในโครงการต่อสู้ใคร
ตกลง. สมมติว่าคุณกำลังทำงานเกี่ยวกับโปรเจคตำราเรียน คุณได้มีการทะเลาะกันระหว่างหัวหน้ากับเจ้าของผลิตภัณฑ์ วิ่งต่อไปคือ UI-หนัก - ตามเวลาที่ coders ของคุณเริ่มต้นสร้างหน้าจอจริงๆคุณต้องการที่จะมีบางคนคิดว่าพวกเขากำลังจะมีลักษณะเหมือน ใครจะเป็น wireframing และเมื่อไหร่? เจ้าของผลิตภัณฑ์ มีคนสนับสนุนเจ้าของผลิตภัณฑ์หรือไม่ ต้นแบบการต่อสู้? หากคุณมีผู้เชี่ยวชาญ UX พวกเขาจะทำงานร่วมกับโคเดอร์หลังจากเริ่มการแข่งขันหรือพวกเขาจัดหา wireframes & mock-ups ล่วงหน้าที่นั่งอยู่ข้างๆการ์ดเรื่องราวและข้อ จำกัด ของคุณเพื่อเป็นแนวทางและแจ้งให้นักพัฒนาทราบ ฉันค่อนข้างมั่นใจว่าเราต้องการความช่วยเหลือจาก UX คุณเห็น แต่ฉันไม่แน่ใจว่าจะนำมันไปใช้ที่ไหน ... แก้ไข: ฉันขอใช้คำถามใหม่อีกครั้ง คุณจะมอบประสบการณ์ผู้ใช้ที่มีคุณภาพและสม่ำเสมอในโครงการที่คล่องตัวได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.