Просмотр полной версии : Матрица компетентности программиста
Недавно натолкунлся на достаточно интересную страничку (http://dev.by/page/programming_matrix) на dev.by.
Наверное будет полезно всем.
Интересная вещь, спасибо. Видно в какую сторону идти.
да интересная классификация ) у меня разброс по некоторым пунктам от 0 до 3 х ггг
Дада, это как раз самое интересное - где-то твердая 2-3, а где-то 0-1 :)
Дада, это как раз самое интересное - где-то твердая 3-4, а где-то 0-1
Ага, аналогично. Вообще интересная вещь )
scrat += 3
Дада, это как раз самое интересное - где-то твердая 3-4, а где-то 0-1 :)
я вот для себя открыл что я вообще не имел дело с юнит-тестированием и алгоритмы у меня в подвешенном состоянии, а надо бы 3
я вот для себя открыл что я вообще не имел дело с юнит-тестированием и алгоритмы у меня в подвешенном состоянии, а надо бы 3
кстати, уверен, что многие их (юнит-тесты) для себя открывают. Как-то раньше не особо осознавали, что программер не только должен писать код, но и тестировать его).
осталось туда добавить знание английского и можно вешать на стенку :)
программер не только должен писать код, но и тестировать его).
а потом подгонять под непройденные тесты :)
/*
--ну откуда взялся этот WA на 67-ом тесте??
(через 3 часа усиленного дебага):
--а какого хрена оно вообще работало?
*/
дык это ж и гуд. без теста проблемный код остался бы незамеченным =)
зы: кто еще не юзает тесты - начинайте. это очень мощный помощник в кодинге. как минимум позволяет адекватно определить порядок создания функционала. плюс помогает видеть слишком сложные методы, которые требуют рефакторинга, когда они выполняют слишком много обязанностей и непонятно как и что именно в них тестить =)
//просмотрел табличку по ссылке
знание prolog убило :)
так дойдёт и до чего-нибудь вроде "также программист обязан уметь искать хорновские интерполянты формул специального вида"
Судя по моей работе web-программист должен уметь:
1) иметь навыки вебдизайнера
2) уменять писать программы для работы с БД на Delphi + MsSQL
3) Писать системные программы для работы с контроллерами.
4) писать разного рода сетевые программы
5) быть постоянно хорошим грузчиком.
6) уметь чинить свой и чужие компьютеры.
7) быть саппортом при возникновении затруднительных ситуаций при работе с MS Office
8) чинить принтеры и менять картриджи.
Жаль этого в таблице нет ))
Судя по моей работе web-программист должен уметь:
Ты явно куда то не туда устроился...
Хороший юнит-тест должен покрывать 5-10% кода. Если больше - то написание его будет самоцелью.
А по табличке 3-4 примерно(индексы с 1 :) ), некоторые пункты ниже.
Судя по моей работе web-программист должен уметь: На моей первой работе меня тоже называли программистом, хотя программирование не входило в мои обязанности и я не написал ни строки кода за эти полгода ;)
Ну я инженер-программист отвечающий за работу сайта, его модернизацию и добавление новых возможностей, но на практике оказываюсь обычным эникейщиком
Зато у нас на работе есть типа - тоже инженер-программист но при этом единственное чем он занимается - работа в фотошопе и он незнает вообще языков программирования)
А главное есть девка 19 лет - техник-программист. У которой 2 прямых задачи - работа с БД и чинить компы. (чесно говоря сам офигел когда впервые увидел как она комп собирала из двух поломанных)
И девка лет 26 есть еще которая полностью по MsSQL кодингу и некоторым прогам.
Весёлый отдел короче ))
Но самое главное мы все программисты!!! ))) Вот так вот и появляются на свет программисты со стажем которые в глаза компиляторы не видели
постоянно пишу unit-test'ы. планирую попробовать TDD.
Хороший юнит-тест должен покрывать 5-10% кода. Если больше - то написание его будет самоцелью.
5-10?! смеешься? это вызвать геттеры и сеттеры - вот и будет 5-10. =))
У нас в проекте требуемое покрытие - 80%, знаю проекты где нужно 100 %. Это скорее всего больше чем нужно. 60% достаточно. Но когда пишешь unit-test - проверяешь главную функциональность - у тебя получается у класса покрытие ~70-80 как правило. А 5-10 - это вообще ничего.
Как-то раньше не особо осознавали, что программер не только должен писать код, но и тестировать его).
А еще он должен следить за сложностью кода и стилем. Я про метрики, findbug и checkstyle. Но обо всем этом программист узнает, когда устроивается в хорошую фирму, когда происходит его становление как разработчика. Тогда он и понимает необходимость юнит-тестов, полезность метрик, findbug и checkstyle.
5-10?! смеешься? это вызвать геттеры и сеттеры - вот и будет 5-10. =)) 100% покрытие - это в несколько раз больше, чем код.
Поэтому ненапряжно только основные вещи покрывать тестами. Не мелочь, а крупные интерфейсы.
Если что-то ломается, то уже известно примерное место бага и его будет отследить гораздо проще.
А мне кажется , что главное это воображение и хорошая алгоритмическая база , все остальное приходящие =)
[n]-c0der
05.07.2009, 01:07
А мне кажется , что главное это воображение и хорошая алгоритмическая база , все остальное приходящие =)
Я тоже грибы люблю...
ниасилил, в силу того что пост не на одной паге %))
ааа. хехе, голяка - поставьте вмето n 1 или 0 и получите что аффтар - мудной и нудный мудаг =) (не к тс адресовано)
ppps: ДА И ВООБЩЕ ЗАЕБАЛИ ВСЯКИЕ ДЕБИЛЫ СО СВОИМ ПРАВОПИСАНИЕМ. пусть своих детей учат. Ведь мы то лучше, а?! ;)
Судя по моей работе web-программист должен уметь:
1) иметь навыки вебдизайнера
2) уменять писать программы для работы с БД на Delphi + MsSQL
3) Писать системные программы для работы с контроллерами.
4) писать разного рода сетевые программы
5) быть постоянно хорошим грузчиком.
6) уметь чинить свой и чужие компьютеры.
7) быть саппортом при возникновении затруднительных ситуаций при работе с MS Office
8) чинить принтеры и менять картриджи.
Жаль этого в таблице нет ))
какой же хитрый?? самый что нинаесть тупой программист! =))))))))))))))))
это ж белорусский рубль. курс посмотри =)
ps: книги лучше покупать на http://books.ru
ultimatum
05.07.2009, 04:32
Как то у меня в разброс в таблице все идет )
100% покрытие - это в несколько раз больше, чем код.
100% покрытие это значит что во время работы теста вызываются все методы тестируемого класса. А это в свою очередь может обеспечиваться вызовом одного метода тестируемого класса. У меня при 100% покрытии как правило unit-test'ы примерно такие же как и тестируемые классы. Больше всего места занимает настройка - моки, стабы, и ассерты.
если юзать TDD то кода тестов будет ровно стока, скока нужно для проверки основного функционала. Гетеры\сетеры тестить смысла нету, если они тривиальные.
если юзать TDD то кода тестов будет ровно стока, скока нужно для проверки основного функционала. Гетеры\сетеры тестить смысла нету, если они тривиальные.
про геттеры-сеттеры я сказал потому, что не знаю как другим способом 5-10% покрытия. Это можно сделать либо дернув только геттеры/сеттеры, либо такое может быть когда нащ тестируемый класс юзался другим классом и некоторые методы дергались во время работы юнит-теста для другого класса. Тогда у нашего тестируемого класса может быть небольшое покрытие. Если же мы пишем юнит-тест для конкртеного класса и проверяем его основную функциональность - то покрытие будет большим - и никак не 5-10%.
100% покрытие это значит что во время работы теста вызываются все методы тестируемого класса. А это в свою очередь может обеспечиваться вызовом одного метода тестируемого класса. У меня при 100% покрытии как правило unit-test'ы примерно такие же как и тестируемые классы. Больше всего места занимает настройка - моки, стабы, и ассерты. Т.е. ты считаешь при покрытии только внешние методы? Тогда согласен.
2 sn0w ну если учесть что из месяца работой занят только 5 дней в общем случае, то это даже хорошо. А так просто лазею постоянно по инету. За исключением что сцуки привозят по 40 ящиков бумаги периодически.
Т.е. ты считаешь при покрытии только внешние методы? Тогда согласен.
я сам не считаю :) - IDE считает. а на серваке - teamcity. и коверэйдж считается по количеству строк кода отработанных в ходе теста.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot