Як я можу практично розробляти шаблони дизайну та рефакторинг? [зачинено]


10

Я читав книгу " Рефакторинг" за шаблонами і цікавився, як я можу отримати шанс практикувати свої навички, тому що без навмисної практики щодо нових способів рефакторингу та використання шаблонів мої навички не покращаться.

Але офісна робота вимагає від мене закінчити кожне завдання якомога швидше. Більшу частину часу дизайн та архітектура проекту не контролюються мною, я можу лише керуватися аналогічним стилем, як існуючим кодом. Іноді є проект із поганим дизайном, але є й інший розробник, дизайнерська майстерність якого краща за мене, і у нього вже є весь план переробляти проект, так що я просто дотримуюся його плану. Як отримати можливості для практики?

Відповіді:


6

Ну якщо бути відвертим, ви не можете чекати можливості прийти, постукавши у ваш порог. Якщо ви дуже схильні до практичної майстерності, було б чудово, якби ви могли придумати свої проекти незалежно від того, що має так званий краще кваліфікований розробник . Просто підкиньте свої ідеї і поговоріть про те, як мій буде корисним для цього існуючого поганого дизайну. Можливо, ви провалилися б у перших кількох спробах, але ви б багато чого навчились (також побачили, що ваш так званий, краще кваліфікований колега-розробник , також має чому навчитися у вас).

Коротше кажучи, покладіть свої дизайни також на стіл і знайте, наскільки добре чи погано ви стоїте інше, немає ніякого способу оцінити свою майстерність.


3

Практика, практика, практика. Хобі-проекти, безумовно, хороша ідея. І якщо ви хочете навчитися, часто краще працювати над чужим проектом з відкритим кодом, таким чином ви зможете дізнатисясь із моделей, які вони використовують.

Я б запропонував розглянути кодування доджосів та ката-кодів . Вся ідея, що стоїть за цією концепцією, полягає в тому, що, працюючи над чітко визначеними керованими проблемами практики, ви будете краще оснащені, коли проблеми з’являться у вашому власному коді. (Веб-сайти пояснюють це краще, ніж я, обов'язково перевіряйте їх.)

Побічна точка: Одне важливе, що не зовсім закономірність, - це правильні звички, коли мова йде про тестування.

Також останній коментар: офісна робота вимагає, щоб ви виконали кожне завдання якомога швидше. Якщо ви працюєте надто швидко і створюєте багато помилок, ви не закінчили завдання , оскільки вам доведеться повернутися до нього пізніше. Це переробка. Якщо ви не знайдете необхідний час, щоб навчитися правильному виконанню справ, ви створите більше роботи для себе за короткий термін і не навчитеся правильних моделей покращуватися в довгостроковій перспективі. Варто і вам, і вашому роботодавцю, що ви практикуєте правильні дизайнерські схеми. (Однак, дизайнерські зразки часто можуть зловживати людьми, які практикують їх надмірно або без фонового розуміння, часто зловживають та зловживають, але це окремий момент.)


Переробка - це якась цікава тема .. 37signals.com/rework - це гідна книга з цього питання.
carpeliam

1
О, ще один коментар, і це іде разом з дотриманням моделей інших людей. Використовуйте людей у ​​вашому офісі як ресурс. Якщо у них є плани на те, як щось переосмислити, запропонуйте їм пояснити їхній розумовий процес і змусити вас навчити вас. Якщо ваш офіс не зосереджений на особистому професійному розвитку, то є проблема.
carpeliam

+1 для примітки, коли завдання закінчено.
Péter Török

1

Я думаю, у вас є такі варіанти:

  • Розгляньте практику у неробочий час - просто залишайтеся на роботі та експериментуйте з рефакторингом коду, не вводячи код у VCS. Щоб робити навмисну ​​практику, вам не потрібно вносити зміни. Вам потрібно відтворити процедуру, поки вона не стане вашою другою природою.
  • Подумайте про оволодіння навичками спілкування, щоб обговорити зі своїми колегами, який рефакторинг є більш підходящим. Важлива розмова дуже корисна для розуміння механіки спілкування.
  • Проект для домашніх тварин - створити проект для домашніх улюбленців і практикувати свої вміння. Це не повинно бути дуже корисним. Ваша мета - практикувати навички програмування.
  • Подумайте, пропонувати свої послуги у проекті з відкритим кодом - це більш вигідно для обдуманої практики, оскільки ви можете отримати зворотній зв'язок
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.