Professor Associado com Agregação na Universidade de Coimbra, na Faculdade de Direito, onde tem lecionado sobretudo disciplinas de direito privado e é coordenador da seção de direito civil. Mestre e Doutor em Ciências Jurídico-Civilísticas pela Faculdade de Direito da Universidade de Coimbra.
Professor convidado na Universität des Saarlandes (Universidade do Sarre, Alemanha, 2016), e conferencista noutras universidades portuguesas e estrangeiras (Alemanha, Espanha, Brasil, Angola, Moçambique, Macau, etc.).
Autor de obras sobretudo no campo do direito civil e dos direitos fundamentais e de anteprojetos de diplomas legais (por exemplo sobre o regime da venda de bens de consumo ou a publicidade domiciliária).
Juiz do Tribunal Constitucional de Portugal de 11 de março de 1998 a 4 de abril de 2007, onde foi relator de mais de 550 acórdãos e 350 decisões sumárias.
Desde 2007 é jurisconsulto e árbitro. Membro do Conselho do Centro de Arbitragem Comercial da Associação Comercial de Lisboa. Membro do Conselho Fiscal da NOS, SGPS, e presidente da Assembleia Geral da CGD – Caixa Geral de Depósitos, S.A.
Deputado por Coimbra e por Lisboa à Assembleia da República de 2009 a 2015. Foi de 2009 a 2011 presidente da Comissão Parlamentar de Orçamento e Finanças. Na legislatura iniciada em 2011 foi presidente da Comissão de Assuntos Europeus da Assembleia da República. Presidiu ao Conselho de Fiscalização dos Serviços de Informações, eleito pela Assembleia da República de 2013 a 2017.
Vice-presidente do PSD entre 2008 e 2010, coordenou o programa eleitoral com que o PSD se apresentou às legislativas de 2009, intitulado Compromisso de Verdade.
Presidente do Congresso Nacional do PSD desde 2018.