В иделе код должен сам комментировать себя.
Я понимаю, что новым людям бывает сложно понять и разобраться в новом проекте. Но согласитесь, если все будут писать так (возьмём мой пример):
— if ( a == b ) return true; else return false;
— не будут использовать паттернов;
— будут постоянно изобретать свои колёса и велосипеды;
— не будут стремиться к новым знаниям в своих областях программирования.
Что получится в итоге? Я думаю многие согласятся, что программирование — это своего рода искусство. Искусство писать красиво, компактно, понятно. Если люди будут делать как им проще и совершать те вещи, которые я перечислил (естественно это не все тезисы, а что пришло в голову), мы получим говнокод. Это будет обычный банальный говнокод, который есть везде и всюду. Никаким искусством не пахнет.
Я не считаю себя джедаем в этом деле, но я хочу стремиться к прекрасному, хочу писать красиво и просто. И для этого нужны знания, нужно расти, познавать, изучать. Люди, которые этого не понимают — обычные кодеры.
Я работаю в крупной международной компании в питерском офисе. Заказчики — авторитетные зарубежные компании (США, Германия, Англия).
Мой первый проект был с коммерческой точки зрения успешным, с точки зрения кода нет. Почему?
Команда состояла из 20-30 человек, из них 2-3 уровня Senior, 4 человека уровня Intermediate, остальные Junior. Нас продавали как высококачественных специалистов, способных качественно и в срок разработать ПО. Естественно проект стоил для заказчика больших денег. Что касается оплаты труда, даже по средним питерским зарплатам они были ниже, платили хорошо только senior'ам, остальные довольствовались малым.
Качество кода и реализации проекта в целом до бета версии было просто ужасным. Исходя из состава команды можно сделать соотв. выводы. Только к концу проекта люди набрались опыта и знаний (к сожалению не все), что немного отразилось на продукте. Видимо ставка руководства на то, что небольшое количество специалистов способны поддержать на достойном уровне качество кода среди большой команды низкоквалифицированных разработчиков не оправдалось.
Естественно мои ожидания от работы в солидной компании были другими. Я считал, все пишут правильно, хорошо, приятно смотреть на код, поощрают повышение знаний и т.д. Первый проект показал как идут дела в компании. На других проектах ситуация местами получше, но людей, пишущих через простите жопу хватает. Причём, как я упомянул в первом комментарии, они работают давно и получают хорошие деньги. Выводы можете сделать сами.
«Большинство индийских софтверных компаний имеют в штате малоквалифицированных программистов.» — этот тезис частично относится и к российским аутсорсерам.
К сожалению замечаю, что люди, работающие в компании несколько лет даже не знают основ технологий, с которыми постоянно работают. Ну как можно путать жизненный цикл страницы asp.net на сервере и клиенте, когда работаешь с этим 2 года?
Ещё часто попадается: if ( a == b ) return true; else return false
Ведь гораздо проще return a==b;
и так пишет программист со стажем работы 3 года!!! Это называется — я получаю зарплату.
Только сегодня удалось добраться до wm приложения. Этот вариант не катит под .net cf 3.5. У мьютексов только 2 конструктора:
— new Mutex()
— new Mutex(bool)
Никакого идентификатора нельзя подсунуть.
Я не занимаюсь. И что такое IBM PC знаю.
А вот фраза "...«.... It’s all available online on your PC»..." автора видимо как-то обидела. А чем компьютер Apple не PC (personal computer)? Если везде искать скрытый смысл, так и до паранойи недалеко.
Я понимаю, что новым людям бывает сложно понять и разобраться в новом проекте. Но согласитесь, если все будут писать так (возьмём мой пример):
— if ( a == b ) return true; else return false;
— не будут использовать паттернов;
— будут постоянно изобретать свои колёса и велосипеды;
— не будут стремиться к новым знаниям в своих областях программирования.
Что получится в итоге? Я думаю многие согласятся, что программирование — это своего рода искусство. Искусство писать красиво, компактно, понятно. Если люди будут делать как им проще и совершать те вещи, которые я перечислил (естественно это не все тезисы, а что пришло в голову), мы получим говнокод. Это будет обычный банальный говнокод, который есть везде и всюду. Никаким искусством не пахнет.
Я не считаю себя джедаем в этом деле, но я хочу стремиться к прекрасному, хочу писать красиво и просто. И для этого нужны знания, нужно расти, познавать, изучать. Люди, которые этого не понимают — обычные кодеры.
return a == b;
Признаться, выражение из Ruby режет глаза.
Мой первый проект был с коммерческой точки зрения успешным, с точки зрения кода нет. Почему?
Команда состояла из 20-30 человек, из них 2-3 уровня Senior, 4 человека уровня Intermediate, остальные Junior. Нас продавали как высококачественных специалистов, способных качественно и в срок разработать ПО. Естественно проект стоил для заказчика больших денег. Что касается оплаты труда, даже по средним питерским зарплатам они были ниже, платили хорошо только senior'ам, остальные довольствовались малым.
Качество кода и реализации проекта в целом до бета версии было просто ужасным. Исходя из состава команды можно сделать соотв. выводы. Только к концу проекта люди набрались опыта и знаний (к сожалению не все), что немного отразилось на продукте. Видимо ставка руководства на то, что небольшое количество специалистов способны поддержать на достойном уровне качество кода среди большой команды низкоквалифицированных разработчиков не оправдалось.
Естественно мои ожидания от работы в солидной компании были другими. Я считал, все пишут правильно, хорошо, приятно смотреть на код, поощрают повышение знаний и т.д. Первый проект показал как идут дела в компании. На других проектах ситуация местами получше, но людей, пишущих через простите жопу хватает. Причём, как я упомянул в первом комментарии, они работают давно и получают хорошие деньги. Выводы можете сделать сами.
К сожалению замечаю, что люди, работающие в компании несколько лет даже не знают основ технологий, с которыми постоянно работают. Ну как можно путать жизненный цикл страницы asp.net на сервере и клиенте, когда работаешь с этим 2 года?
Ещё часто попадается:
if ( a == b ) return true; else return false
Ведь гораздо проще
return a==b;
и так пишет программист со стажем работы 3 года!!! Это называется — я получаю зарплату.
— new Mutex()
— new Mutex(bool)
Никакого идентификатора нельзя подсунуть.
А вот фраза "...«.... It’s all available online on your PC»..." автора видимо как-то обидела. А чем компьютер Apple не PC (personal computer)? Если везде искать скрытый смысл, так и до паранойи недалеко.